工厂模式细致理解


工厂模式存在的意义:  对重复使用的复杂对象进行封装,一行代码new出来

1.工厂模式
  1.1 工厂方法模式 (一个类专门管理构造方法)
     1.1.1普通工厂模式(工厂类中只有一个方法,根据方法传入的参数创建不同对象)
     1.1.2多工厂模式(工厂类中有多个方法,每个方法创建不同的对象,避免打字母出错)
     1.1.3静态工厂模式(将工厂类中的方法变成静态方法)
  1.2 抽象工厂模式  (将工厂由类变为接口,将类中的方法变为类)

重点理解抽象工厂模式与其他工厂模式的差别

抽象工厂模式的优点:对修改封闭,对扩展开放。其他工厂模式必须修改原来的代码

 举个例子,多工厂模式需要增加一个新的功能,需要修改工厂类,如下图所示

               旧代码                                       新代码

那么如果采用抽象工厂方式呢?
 先创建接口,然后一个具体的类实现接口就行了 

public interface Provider {  
    public Sender produce();  
}  ...
...
public class TestFactory implements Provider {  
    public Sender produce(){  
        return new TestSender ();  
    }  
}  
以后要添加新功能 只要按照以上的2个步骤,就可以了,不用修改原来的代码。

猜你喜欢

转载自542255641.iteye.com/blog/2200375