简单工厂模式和工厂方法模式
2018-09-12 本文已影响0人
_我不是程序员
简单工厂模式
1.功能类(可根据不同情况派生出多个类)。
2.简单工厂类,简单工厂类拥有一个创建功能类实例的方法,可给该方法传入一个参数用于判断创建哪种功能类的实例。
工厂方法模式
与简单工厂类似,区别就是对工厂类进行了解耦,工厂积累根据不同的功能类派生出不同的工厂类,从而创建不同的功能类得实例。
工厂方法类解决了简单工厂类违背 修改封闭-扩展开放的原则。当需要增加新的功能时,简单工厂类需要修改其方法,而工厂方法类只需要增加新的类就可以(这也是他的缺点)。
这两种模式良好的解决了功能类与客户端代码的耦合性,当客户端创建了多个功能类对象时,需要改这些对象时时,只需要对工厂类一处进行修改,而不必对每个对象都进行更改。