首页 > 其他 > 详细

简单工厂和抽象工厂

时间:2020-05-30 14:01:20      阅读:30      评论:0      收藏:0      [点我收藏+]

一、简单工厂(单个工厂)

技术分享图片

 

 

二、抽象工厂(多个工厂)

技术分享图片

 三.  模式总结

主要优点
1. 屏蔽了产品的具体创建过程,使用简单。
2. 满足开闭原则,具有更高的扩展性。
其缺点是:每增加一个产品就要增加一个具体产品类和一个对应的具体工厂类,这增加了系统的复杂度。

模式角色
抽象工厂(Abstract Factory):提供了创建产品的接口,调用者通过它访问具体工厂的工厂方法 newProduct() 来创建产品。
具体工厂(ConcreteFactory):主要是实现抽象工厂中的抽象方法,完成具体产品的创建。
抽象产品(Product):定义了产品的规范,描述了产品的主要特性和功能。
具体产品(ConcreteProduct):实现了抽象产品角色所定义的接口,由具体工厂来创建,它同具体工厂之间一一对应。

应用场景
1. 客户只知道创建产品的工厂名,而不知道具体的产品名。
2. 创建对象的任务由多个具体子工厂中的某一个完成,而抽象工厂只提供创建产品的接口。
3. 客户不关心创建产品的细节,只关心产品的品牌。

简单工厂和抽象工厂

原文:https://www.cnblogs.com/shijianchuzhenzhi/p/12991888.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!