设计模式随笔

设计模式就是将平行结构(水平)的代码,利用结构化(垂直)代码进行重写,实现重用的目的,实现解耦的目的,实现封闭的原则


例如,bridge模式

水平变垂直:单一职责原则,即一个类只有一个引起它变化的原因,而这里引起变化的原因却有两个,即路类型的变化和汽车类型的变化;

 http://www.cnblogs.com/houleixx/archive/2008/02/23/1078877.html(利用bridge模式)


设计一个业务时,利用乘的关系,而不是加的关系

乘:

A类:a.1,a.2,a.3     B类:b.1,b.2,b.3     D类中负责逻辑控制是A类与B类,例如A.B的复合,扩展为C(c.1,c.2,c.3)时可以有C.A.B。    因此变化数是3*3=9;扩展是只要单独扩展A类或B类。

加:

D类中利用组合数的关系写出共九种情况,扩展时也要组合数的写出,代码量大很多



桥接模式与装饰的区别:
装饰模式:

      这两个模式在一定程度上都是为了减少子类的数目,避免出现复杂的继承关系。但是它们解决的方法却各有不同,装饰模式把子类中比基类中多出来的部分放到单独的类里面,以适应新功能增加的需要,当我们把描述新功能的类封装到基类的对象里面时,就得到了所需要的子类对象,这些描述新功能的类通过组合可以实现很多的功能组合 .
桥接模式:
          桥接模式则把原来的基类的实现化细节抽象出来,在构造到一个实现化的结构中,然后再把原来的基类改造成一个抽象化的等级结构,这样就可以实现系统在多个维度上的独立变化 。


另外要注意的是装饰器模式有一个连环的特征,自由搭配功能逐级加强


  注意区分Façade模式、Adapter模式、Bridge模式与Decorator模式。Façade模式注重简化接口,Adapter模式注重转换接口,Bridge模式注重分离接口(抽象)与其实现,Decorator模式注重稳定接口的前提下为对象扩展功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值