1.1 创建型-简单工厂 工厂方法 抽象工厂

2021-01-02  本文已影响0人  JingJingLiu317

1.简单工厂

简单工厂不属于23种设计模式。简单工厂要素:抽象产品类,具体产品类,一个工厂

抽象产品类 具体产品 具体产品 产品工厂

优点:如果有产品的修改,只需要修改工厂类即可。

缺点:不符合开闭原则和单一职责原则,一个工厂类生产所有产品,会导致类臃肿且类的职责不明确。

2.工厂方法

工厂方法要素:抽象产品类,具体产品类,抽象工厂类-对应抽象产品类,具体工厂-每一个具体产品对应一个具体工厂.

抽象工厂类 每个产品对应自己的factory,一个工厂只能生产一个产品 具体产品工厂

优点:符合开闭原则和单一职责原则;

缺点:每一个产品都有一个具体工厂,导致类增多。

3.抽象工厂

抽象工厂要素:抽象产品类,具体产品类,抽象工厂-生产一系列相关产品,具体工厂-生产不同分类的产品

抽象工厂类生产一类产品 具体工厂类

优点:一个工厂可以生产多个同类产品,符合单一职责原则,且横向扩展产品分类只需进行类的扩展(如增加进口水果只需要增加一个进口水果的工厂类),符合开闭原则

缺点:纵向扩展产品细则(如增加香蕉产品),需要修改工厂接口且实现类都需要进行实现,违反开闭原则。

抽象工厂重点在需要细致分析产品分类,生产的产品的共同点抽象在抽象类中,不同点通过不同工厂进行生产。

上一篇 下一篇

猜你喜欢

热点阅读