设计模式 工厂方法模式

工厂方法模式(Factory Method Pattern):(工厂模式)也叫做虚拟构造器模式者多态工厂模式,属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类负责生成具体的产品对象。

工厂方法模式包含如下四种角色:

  • Protect:抽象产品
  • ConcreteProtect:具体产品
  • Factory:抽象工厂
  • ConcreteFactory:具体工厂

具体流程为客户端掌握具体工厂的名称,根据具体工厂的名称抽象工厂发送请求,获取到一个具体工厂的对象,由具体工厂对象创建出具体的产品,关系类图如下,客户端引用抽象工厂和和抽象产品类,具体工厂和具体产品类分别继承抽象工厂以及抽象产品类,具体工厂引用具体产品类,关系为制造关系。

 

 

 工厂方法模式优点:

  • 用户只需要关心所需产品对应的工厂,无需关心创建细节,甚至无需关心具体产品类的类名。
  • 工厂可以自主确定创建何种产品对象,而如何创建这个对象的细节则完全封装在具体产品内部。
  • 在系统中增加新产品是,无需修改抽象工厂和抽象产品提供的具体接口,只需要添加一个具体工厂和具体产品即可。

 缺点:

  • 类的数量过多
  • 增加了系统的抽象性和理解难度

 

posted @ 2021-11-28 14:15  见怪见外  阅读(25)  评论(0编辑  收藏  举报