模式简述
-
将工厂类抽象出一个接口,对象的创建方法延迟到工厂子类去实现
-
将工厂方法抽象出来,成单独接口。
-
工厂类结构与产品类结构一一对应,每一种产品都对应一个工厂子类。
-
当新增一个产品类型时,新加对应的工厂子类即可,不再需要修改既有类。
-
使用目的
-
弥补简单工厂的缺陷,提高扩展性
简单工厂在产品过多时,代码会变得庞大且难以维护也违背了单一原则以及开闭原则
- 负责各个产品的对象生成
- 新增功能时需要对原有工厂类进行修改,而不是新增
结构图
![](https://img.haomeiwen.com/i3026588/38d1703e646f82fa.jpg)
使用设计模式的目的是为了让代码结构清晰,组织简单,避免过度设计
-
跟静态工厂模式比,工厂类膨胀太多,需要根据需求取舍
-
代码Demo:水果-工厂
网友评论