大话设计—创建型模式总结

23个设计模式外加简单工厂模式还有设计模式六大原则构成了这本书的主线。其中23个设计模式可以分为三大类:

下面先总结一下第一大类:

【创建型】在所有的创建型模式中,处理的都是创建对象的方法,程序不应该依赖于创建和安排对象的方式。许多情况下,被创建的对象的确切特性可能因为程序需要而不同,因此把创建过程抽象到一个特定的创建者类中,可以使得程序更加灵活通用。

下表是我对创建型模式的进一步理解和总结。



在学习的过程中,发现这几个模式有共通之处,不太容易辨别,下面再细说一下自己的理解。

【抽象工厂模式和建造者模式】

抽象工厂模式是应对一系列对象的创建的问题,比如说,对于创建一个汽车对象来说,抽象工厂模式更关注一系列的对象的创建,或者说是汽车类型中的各个部分,如:Wheel、Engine、Body等等类型的创建。换句话说关注点在这一系列对象上。

建造者模式是应对一个复杂对象创建的问题,或者说是针对这个复杂对象中的子对象的创建的问题。以汽车的例子来说,建造者模式相对注重汽车类型(上面所说的“复杂对象”)本身以及其各个部分(Wheel、Engine、Body等等)类型的创建。建造者模式要求这个复杂的类型(汽车)中的各个子类型的结合部分相对稳定,用例子说明就是对于汽车来说,无论用什么配件组装,个个配件的组装方式都一样,有相对稳定的接口。对于这辆车你用什么牌子的Wheel、什么牌子的Engine可能变化会很大很频繁。

【工厂方法模式和原型模式】

这两种模式从功能上讲都是封装了对对象的创建,只不过原型模式是用原型克隆进行拷贝来完成对象的创建,在这之中还应注意浅拷贝和深拷贝的区别;工厂方法模式是重新创建一个对象,而原型模式是利用现有的对象进行克隆,当两个对象或多个对象雷同的时候,可以考虑用一个已创建的对象去克隆出其余的对象。


相比较来说,单例模式就比较容易理解了,这里就不过多阐述了。




评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值