简单工厂模式和工厂方法模式

简单工厂模式

1.功能类(可根据不同情况派生出多个类)。

2.简单工厂类,简单工厂类拥有一个创建功能类实例的方法,可给该方法传入一个参数用于判断创建哪种功能类的实例。

工厂方法模式

与简单工厂类似,区别就是对工厂类进行了解耦,工厂积累根据不同的功能类派生出不同的工厂类,从而创建不同的功能类得实例。

工厂方法类解决了简单工厂类违背 修改封闭-扩展开放的原则。当需要增加新的功能时,简单工厂类需要修改其方法,而工厂方法类只需要增加新的类就可以(这也是他的缺点)。

这两种模式良好的解决了功能类与客户端代码的耦合性,当客户端创建了多个功能类对象时,需要改这些对象时时,只需要对工厂类一处进行修改,而不必对每个对象都进行更改。

你可能感兴趣的:(简单工厂模式和工厂方法模式)