三种工厂模式的区别

 1.三种工厂模式的概念

tag: 为方便说明:A表示Client,B表示Factory,C表示Product。

 简单工厂:类关系模式为:A用不同参数通过B获取C的不同实例。

 工厂方法:类关系模式为:A通过B的不同实例获取C的不同实例。

 抽象工厂:类关系模式为:B具有生产C和D的能力,A通过B的不同实例获取C和D的不同实例。

标注:图片来自:https://www.cnblogs.com/qiaoconglovelife/p/5750290.html

2.如何清晰的认识和区分

场         景:一台电脑的产生一定需要主板,CPU,内存条,显示器。

如果有一个工厂专门生产各种型号的主板,那么这个工厂可以说是简单工厂也可以说是工厂方法,怎样区分是简单工厂还是工厂方法呢?如果客户是通过一个主板型号单来购买主板,这时此厂需要按清单生产相应的主板给客户,这就是简单工厂;如果客户不想写单,而是自己按照这个厂规范自己造厂来生产这种型号的主板,这就是工厂方法。

如果有一个工厂可以同时生产不同型号的主板,CPU,内存条,显示器,那么可以说成是抽象工厂,它和工厂方法一样也是自己根据建厂规范自己造厂子,只是这个厂子可以同时生产各种类型的产品(主板,CPU,内存条,显示器)。

ps:可以说简单工厂和工厂方法近似相同,都是一次给客户生产一类型产品,只是实现方式稍微不同而已,一个通过传参,一个通过不同子类。而抽象工厂的建厂规范就不同了,厂子具有同时生产各种产品的能力,一次给客户生产多个类型的产品。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值