设计模式之创建者模式 c++ 实现

 创建者设计模式属于 创建型设计模式的一种。

创建者设计模式主要用于复杂对象的创建,这些对象的创建步骤和组合方式基本固定,但是可能具体的对象的组成部分却又可以自由的变化。创建者设计模式通过封装来隔离组成复杂对象的各个组成部分的变化。从而可以应对各种各样的需求。
 
创建者模式的类图如下:
举例来说:
KFC的套餐 为 Product 角色  顾客为Client  收银员为 Director 角色  套餐内的食品制作员工为 Builder角色
Director 包含 Construct 方法用于构建最终产品。而这个产品就是我们要构建的复杂的对象。
 
用c++ 来实现的代码如下:
 
#include "stdafx.h"
#include <stdio.h>
class Product
{
 
};
class Builder
{
public:
virtual void BuildPartA()=0;
virtual void BuildPartB()=0;
protected:
private:
};
class ConcreteBuilder:public Builder
{
public:
void BuildPartA(){printf("builder part a:\n");};
void BuildPartB(){printf("builder part b:\n");};
private:
Product m_product;
};
class Director
{
public:
Director(Builder* builder){m_bBuilder=builder;};
void Construct(){m_bBuilder->BuildPartA();m_bBuilder->BuildPartB();};
protected:
private:
Builder* m_bBuilder;
 
};
int main(int argc, char* argv[])
{
Director director(new ConcreteBuilder);
director.Construct();
getchar();
return 0;
}

独立博客地址:  http://www.gddhx.com/post/23.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值