Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说设计模式:创建型设计模式总结,希望能够帮助你!!!。
创建型设计模式包括:建造者模式,原型模式,单例模式,工厂模式。它主要解决对象的创建问题,封装复杂的创建过程,解耦对象的创建代码和使用代码。
1、当创建对象结构比较复杂时,
比如对象有许多属性,属性之间有约束关系,
可以考虑使用建造者模式,
通过设置不同的可选参数,定制化创建相同类不同属性表现的对象,
从而提高代码可读性和易用性。
2、当创建对象成本比较大,同一个类的不同对象之间差别不大时,
比如对象中数据需要经过复杂计算得到,或者需要从RPC,网络,数据库,文件系统等非常慢速的IO中读取,但对象之间大部分字段相同,
可以考虑使用原型模式,
通过拷贝(深拷贝或浅拷贝)已有对象(原型),来创建新对象,
以达到节省创建成本的目的。
3、当创建对象是全局唯一,一个类只允许创建一个对象时,
比如系统的配置信息类对象只应该在系统中保存一份。
可以考虑使用单例模式,
通过双重检测,静态内部类或者枚举的方式,来创建单个对象,
已达到对象全局唯一的目的。
4、当创建对象逻辑比较复杂时,
比如根据不同类型创建不同对象
或单个对象创建过程比较复杂,像需要组合其他类对象,做各种初始化操作,
可以考虑使用工厂模式,
用来创建不同但类型相关的对象(继承同一父类或者接口的一组子类),由给定的参数来决定创建哪种类型的对象
如果每个对象创建逻辑比较简单,就使用简单工厂模式,将多个对象的创建逻辑放在一个工厂类中。
如果每个对象创建逻辑比较复杂,就使用工厂方法模式,将每个对象的创建逻辑独立到每个工厂类中。
如果创建对象是一系列相关的产品族,就使用抽象工厂模式,对工厂进一步抽象,抽象出一个超级工厂去创建其他工厂,每个创建出的工厂再按照工厂模式提供对象。
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章