简单工厂和工厂方法模式

背景:

王帅开了一家肉夹馍店;

目的:

最近推出了3款肉夹馍,王帅希望使用简单工厂模式实现3

!!!工厂类的类图



首先是简单工厂模式

一、产品类

RouJM.H(抽象产品类):



 RoujmShow.H(具体产品类):



 RoujmMaking.cpp(具体产品类实现):



二、工厂类

 RoujmFactory.H(工厂类):




三、客户调用


简单工厂模式的优缺点:

(1)、缺点
1、工厂类的耦合性较强;
       集中了所有产品的创建逻辑,模块与模块之间耦合在一个类里。 工厂崩、系统也崩;
2、违反“开放-关闭原则”
       添加新产品、修改工厂逻辑;


(2)、优点(降低了客户与具体实现的耦合)
1、封装了细节,客户只需调用工厂接口,不必关心如何创建产品,只    顾使用产品;“依赖倒置原则”
2、更符合面向接口编程,而不是面向实现编程。


为克服上述缺点,改为工厂模式。。只需要改动工厂类。。

RoujmBfactory.h(抽象工厂类):



然后客户调用,变为下面这种语句,任何实现、创建的细节以及过程都封装起来而不让客户知道:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值