工厂设计模式(工厂模式创建对象)

工厂设计模式(工厂模式创建对象)

工厂设计模式(工厂模式创建对象)

让我们回忆一下上一节谈到的静态工厂,它通过一个工厂类根据指定的参数返回一个实例对象。

今天的工厂模式也叫多态工厂模式,指的是定义一个创建对象的接口。实现这个接口的类决定实例化哪个类,工厂方法将类的实例化延迟到子类。

在工厂模式中,不是一个工厂负责所有实例,而是工厂的子类负责。满足单一原则也解决了产品过多时工厂类过于臃肿的问题。(这就是静态工厂和工厂模型的区别。静态工厂通过单一性原理转化后转化为工厂模型,使特定的工厂产生特定的对象。)

1、工厂模式的设计原则

抽象工厂:所有工厂方法的父类;

ConcreateFactory:实现抽象工厂的具体工厂;

抽象IProduct:所有产品的父类;

特定产品:由特定工厂制造的特定产品。

2.简单的案例

在上面的例子中,简单工厂维护所有产品的实例,违反了单一原则。工厂是抽象工厂的子类。Java工厂创造Java产品,Python工厂创造Python产品。所以他只是在工厂方法模式的基础上做了单一的原理优化。所以这里不贴具体代码了。

3.对工厂模型的评论

工厂模式也被称为多态工厂模式,因为所有具体的工厂类都有相同的抽象父类。单一原则解决了臃肿的简单工厂,但在添加产品时,不仅要添加产品类别,还要添加产品对应的工厂,导致系统中的类成对增加,增加了复杂度。抽象产品只能生产一种产品,抽象工厂可以解决。

以上就是由优质生活领域创作者 深圳生活网小编 整理编辑的,如果觉得有帮助欢迎收藏转发~

相关推荐

Leave a Reply

Your email address will not be published.