简单工厂:
-
为了符合开闭原则和单一职责原则:把对象的创建过程独立出来。放进工厂类实现而调用者不需要知道具体的构造过程。
-
在工厂类中一开始分别设置不同的生产方法提供给使用者调用,这样调用者需要了解工厂的好几种方法,不符合
-
迪米特原则:所以改成一个方法,调用者分别传不同的参数生产不同的对象。
-
但是这样出现新的产品是就要修改工厂类又违反了开闭原则所以引出了
-
本质是产品品种越来越多
工厂方法:(注意:工厂方法里的工厂是抽象的但是原因是想抽象里面的生产方法,把生产方法交给不同的子类实现,子类只能生产一个类)
-
在简单工厂的基础上把工厂类里的生产方法抽象交个具体的子类实现。这样增加新产品时只要增加新的工厂类和新的产品类。不用修改代码。
-
本质是产品品种越来越多----到产生了系列