工厂模式

一、简略类图

 

二、角色

  抽象工厂角色:任何在模式中创建对象的工厂类必须实现这个接口。

  具体工厂角色:实现抽象工厂接口的具体java类。

  抽象产品角色:产品对象的共同父类或共同拥有的接口。

  具体产品角色:实现抽象产品角色所声明的接口。模式中所创建的每一个对象都是某个产品角色的实例。

三、解决

  主要解决接口选择的问题。

四、何时使用

  明确地计划不同条件下创建不同实例时。

五、解决方式

  让其子类实现工厂接口,返回的也是一个抽象的产品。

六、注意

  复杂对象适合使用工厂模式,而简单对象,特别是只需要通过 new 就可以完成创建的对象,无需使用工厂模式。如果使用工厂模式,就需要引入一个工厂类,会增加系统的复杂度。

原文地址:https://www.cnblogs.com/wscy/p/7761405.html