设计模式---建造者模式

设计模式-建造者模式


建造者模式

我们下馆子吃饭的时候,都会发现不同家的做同样的菜味道差别很大,菜味道的不同则就取决于厨子的想法和手法,还有就是厨子做同一个菜品的时候,可能心情不好,做出来的菜也会天差地别。但是再去吃KFC,麦当劳的时候,我们发现味道差不多都一个味,不论在全国各地。因为KFC这种快餐店做食物的一套流程,既保证了效率,又保证了味道基本上一致。这里就用到了我们即将要说的建造者模式

定义: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以建造不同的表示。

uml图
在这里插入图片描述
观察此图我们发现,建造者模式中有这么几个角色:

  1. Directior:指挥者,根据用户的需求来创建对象,构建一个使用Builder接口的使用对象。
  2. Builder:建造一个"建筑"各个部分的一个抽象类。
  3. fatBuilder,thinBuilder:具体的建造者,实现了Builder中的接口。
  4. Product:为具体的产品角色。

具体实现

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
using namespace std;
class Product{
   
	private:
		vector<string>parts;
	public:
		void add(const string part){
   
			parts.push_back(part);
		}
		void Show() const{
   
	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值