文章目录[隐藏]
工厂设计模式(工厂模式创建对象)
让我们回忆一下上一节谈到的静态工厂,它通过一个工厂类根据指定的参数返回一个实例对象。
今天的工厂模式也叫多态工厂模式,指的是定义一个创建对象的接口。实现这个接口的类决定实例化哪个类,工厂方法将类的实例化延迟到子类。
在工厂模式中,不是一个工厂负责所有实例,而是工厂的子类负责。满足单一原则也解决了产品过多时工厂类过于臃肿的问题。(这就是静态工厂和工厂模型的区别。静态工厂通过单一性原理转化后转化为工厂模型,使特定的工厂产生特定的对象。)
1、工厂模式的设计原则
抽象工厂:所有工厂方法的父类;
ConcreateFactory:实现抽象工厂的具体工厂;
抽象IProduct:所有产品的父类;
特定产品:由特定工厂制造的特定产品。
2.简单的案例
在上面的例子中,简单工厂维护所有产品的实例,违反了单一原则。工厂是抽象工厂的子类。Java工厂创造Java产品,Python工厂创造Python产品。所以他只是在工厂方法模式的基础上做了单一的原理优化。所以这里不贴具体代码了。
3.对工厂模型的评论
工厂模式也被称为多态工厂模式,因为所有具体的工厂类都有相同的抽象父类。单一原则解决了臃肿的简单工厂,但在添加产品时,不仅要添加产品类别,还要添加产品对应的工厂,导致系统中的类成对增加,增加了复杂度。抽象产品只能生产一种产品,抽象工厂可以解决。
以上就是由优质生活领域创作者 深圳生活网小编 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文标题:工厂设计模式(工厂模式创建对象)
本文地址:https://www.szbubu.com/2827915.html,转载请说明来源于:深圳生活网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场。
本文地址:https://www.szbubu.com/2827915.html,转载请说明来源于:深圳生活网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场。