最近看了刘伟老师的《设计模式》,以下部分为自己学习简单工厂模式总结和思考,文中也引用了刘伟老师书中的很多经典部分,若有不当之处,希望得到大佬的指点。
正文:
简单工厂模式属于创建型模式:关注的是对象的创建过程,它主要描述如何将对象的创建和使用分离,让用户在使用对象时无需关心对象的创建细节,从而使得系统更加符合单一职责原则,降低系统的耦合度,让设计方案更加易于修改和扩展。
简单工厂模式是GoF的23种设计模式的基础,它并不属于GoF的经典著作《设计模式:可复用面向对象软件的基础》。
定义:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的类的实例通常具有共同的父类。
客户端可免除直接创建产品对象的职责**,无需知道具体产品类的类名就可以直接创建产品。
但是,当工厂负责创建的的对象较多,这势必会加重这个工厂的业务逻辑,一旦不能工作,整个系统都将受到影响。当增加新的产品时就不得不修改工厂的逻辑,这样不利于系统的扩展和维护。
生活小例子:
一个工厂中要生产汽车,冰箱、电视、按摩椅、电脑、电饭煲,等等,(工厂负责创建的的对象较多)
汽车部,冰箱部、电视部、按摩椅部、电脑部,电饭煲部等都只负责生产产品,(具体产品类)
这个工厂所有的产品原料以及产品都必须从工厂大门进出,工厂大门仅可以让贴有本厂商标的产品进出**(大门–抽象工厂)**
一旦大门出问题了,所有的产品都将不能进出。
如果工厂以后想要生产袜子,那么,还需要赋予袜子进出工厂的权利,(增加新的产品时就不得不修改工厂的逻辑*)*
所以,简单工厂模式 适用于以下几种情况:
工厂类负责创建的对象较少,客户端并不关心如何创建对象。
设计模式---简单工厂模式
最新推荐文章于 2024-08-29 17:15:49 发布