设计模式比较


http://my.oschina.net/rainingcn/blog/41458


一。创建者模式:

     1.工厂模式注重的是整体对象的创建方法,而建造者模式注重的是部件构建的过程,旨在通过一步步的精确构造创建出一个复杂的对象。抽象工厂模式实现对产品家族的创建。

     2.(抽象)工厂模式与创建者模式的不同:

           2.1 意图不同: 工厂模式关注的是一个产品的整体,而建造者模式由一个个产品组成部分的创建过程。

           2.2 产品的复杂度不同:工厂模式创建的一般都是单一产品,而建造者模式创建的是一个复杂的产品

    3.原型模式:原型模式其实是从一个对象再创建另个一个可定制的对象,而且不需知道任何创建的细节。一般在初始化的信息不发生变化的情况下,克隆是最好的办法。

    (4.模板模式:使用继承,将所有重复的代码都要上升到父类中。)

  5.单例模式:创建一个实例

二。结构类模式:通过组合类或对象产生更大结构以适应更高层次的逻辑需求。

       1. 代理模式与装饰模式很像。代理模式关注控制过程的访问,使用者关注的是原来的功能;而装饰模式关注的是在一个对象上动态的添加方法,使用者关注的是装饰之后的功能。
         从行为上说,当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。而使用装饰器模 式的时候,通常的做法是将原始对象作为一个参数传给装饰者的构造器。

     2.装饰模式和适配器模式差别比较大,但它们的功能也有相似的地方:都是包装作用,都是通过委托方式实现其功能。不同点:装饰模式包装的是自己的兄弟类,率属于同一个家族(相同接口或者父类),适配器模式则修饰非血缘关系类,关注的是两个对象之间的转换。

     3.共同点:桥接和适配器都是让两个东西配合工作
    不同点:出发点不同。

    适配器:改变已有的两个接口,让他们相容。
    桥接模式:分离抽象化和实现,使两者的接口可以不同,目的是分离

  4.组合模式以类为主导,
    装饰模式以对象为主导
    组合模式弊端,组合的种类多种多样,为每种组合创造一个类,类的数量急剧的增加。
    装饰模式弊端,会造成对象的嵌套层次太深

三。行为类模式:

    1.命令模式与策略模式的区别:

       类图相似,但是命令模式多了个接受者(Receiver)

       1.1关注点不同:策略模式关注的是算法的替换问题,命令模式关注的是解耦问题:请求者、接受者之间的解耦,命令之间的解耦。

    2.策略模式VS状态模式:
       策略模式旨在解决内部算法如果改变问题,保证的是算法可自由切换;状态模式旨在解决内在状态的改变而引起行为改变的问题,它的出发点是事物的状态,封装状态而暴露行为。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值