标签:工厂 低耦合 需要 角色 必须 开闭原则 产品 决定 缺点
不直接向客户端暴露对象创建的实现细节,而是通过一个工厂类来负责创建产品类的实例
1、工厂角色(Factory)
2、抽象产品角色(Product)
3、具体产品角色(Concrete Product)
隐藏了对象创建的实现细节,客户端不需要修改代码
违反了单一职责原则,将创建逻辑几种到一个工厂类里,当添加新产品时,需要修改工厂类代码,违反了开闭原则
定义一个用于创建对象的接口(工厂接口),让子类决定实例化哪一个产品类。
1、抽象工厂角色(Creator)
2、具体工厂角色(Concrete Creator)
3、抽象产品角色(Product)
4、具体产品角色(Concrete Product)
1、每个具体产品都对应一个具体工厂类,不需要修改工厂类代码
2、工厂类可以不知道它所创建的对象的类
3、隐藏了对象创建的实现细节
每增加一个具体产品类,就必须增加一个相应的具体工厂类
1、需要生产多种、大量复杂对象的时候
2、需要降低耦合度的时候
3、当系统中的产品种类需要经常扩展的时候
标签:工厂 低耦合 需要 角色 必须 开闭原则 产品 决定 缺点
原文地址:https://www.cnblogs.com/luoahong/p/9734352.html