设计模式—Factory Method模式

Factory Method模式,工厂方法模式。

我们初始化类可以通过 new A1(),new A2()的方法产生,但是呢,假如初始化类的时候有一些需要转换的参数或其他需求,我们可以定义一个类B,然后通过类B的一个函数返回我们需要的初始化的实例。

但是这种通过一个类的函数生成不同的类的实例叫做简单工厂模式,但是当我们需要这个类(工厂类)生成非常多不同类的实例的时候,这个类就会变得非常臃肿。另一种解决方案是,生成不同的类的实例的逻辑实现放到工厂类的子类来实现,每个工厂类的实例只对应生成一个类的实例。

 

应用场景:

  1. 在生成对象很复杂的时候
  2. 需要解耦的时候
  3. 需要扩展性的时候

 

优点:

  1. 多态性
  2. 扩展性好
  3. 解耦

 

缺点:

  1. 当生成类种类很多的时候,要对应编写很多工厂类

 

UML:

例子:

例如手机工厂,每生产一种型号的手机(产品类子类)就多开一条产品线(工厂类子类)。

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注