设计模式-建造者模式
来源:互联网 发布:51单片机串口程序 编辑:程序博客网 时间:2024/05/17 09:13
创建型设计模式-建造者设计模式
模式描述:将一个复杂对象的构建与他的表示分离,这样就能使得同样的构建过程创建出不同的表示。
代码实现方案(构建一座房屋包括:门、窗、墙、屋顶四个过程)
//C++
//定义创建者接口,接口只定义了建造房屋的过程步骤,具体的建造方法由构建具体房屋的类实现
class Builder
{
public:
virtual void BuildDoor(){}
virtual void BuildWindow(){}
virtual void BuildWall(){}
virtual void BuildRoof(){}
};
//构建东方式房屋类
class BuilderEast:Builder
{
public:
void BuildDoor(){std::cout<<"建造东方式的门";}
void BuildWindow(){std::cout<<"建造东方式的窗";}
void BuildWall(){std::cout<<"建造东方式的墙";}
void BuildRoof(){std::cout<<"建造东方式的门";}
};
//构建西方式房屋类
class BuilderWest:Builder
{
public:
void BuildDoor(){std::cout<<"建造西方式的门";}
void BuildWindow(){std::cout<<"建造西方式的窗";}
void BuildWall(){std::cout<<"建造西方式的墙";}
void BuildRoof(){std::cout<<"建造西方式的门";}
};
//定义建造房屋者的类,由建造者决定建造哪种类型的房屋
class BuilderHouseMan
{
private:Builder *ManBuilder;
public: BuilderHouseMan(Builder *builder)
{
ManBuilder=builder;
}
void BuilderHouse()
{
ManBuilder->BuildDoor();
ManBuilder->BuildRoof();
ManBuilder->BuildWall();
ManBuilder->BuildWindow();
}
};
//建造房屋时,用具体样式房屋的类的对象为参数构造建造房屋者对象,由建造者建建该样式的房屋
模式描述:将一个复杂对象的构建与他的表示分离,这样就能使得同样的构建过程创建出不同的表示。
代码实现方案(构建一座房屋包括:门、窗、墙、屋顶四个过程)
//C++
//定义创建者接口,接口只定义了建造房屋的过程步骤,具体的建造方法由构建具体房屋的类实现
class Builder
{
public:
virtual void BuildDoor(){}
virtual void BuildWindow(){}
virtual void BuildWall(){}
virtual void BuildRoof(){}
};
//构建东方式房屋类
class BuilderEast:Builder
{
public:
void BuildDoor(){std::cout<<"建造东方式的门";}
void BuildWindow(){std::cout<<"建造东方式的窗";}
void BuildWall(){std::cout<<"建造东方式的墙";}
void BuildRoof(){std::cout<<"建造东方式的门";}
};
//构建西方式房屋类
class BuilderWest:Builder
{
public:
void BuildDoor(){std::cout<<"建造西方式的门";}
void BuildWindow(){std::cout<<"建造西方式的窗";}
void BuildWall(){std::cout<<"建造西方式的墙";}
void BuildRoof(){std::cout<<"建造西方式的门";}
};
//定义建造房屋者的类,由建造者决定建造哪种类型的房屋
class BuilderHouseMan
{
private:Builder *ManBuilder;
public: BuilderHouseMan(Builder *builder)
{
ManBuilder=builder;
}
void BuilderHouse()
{
ManBuilder->BuildDoor();
ManBuilder->BuildRoof();
ManBuilder->BuildWall();
ManBuilder->BuildWindow();
}
};
//建造房屋时,用具体样式房屋的类的对象为参数构造建造房屋者对象,由建造者建建该样式的房屋
- 设计模式-------建造者
- 设计模式-建造者
- 建造者设计模式
- 建造者设计模式
- 建造者设计模式
- 设计模式-建造者
- 建造者设计模式
- 建造者设计模式
- 建造者设计模式
- [设计]建造者模式
- 设计模式:建造者模式
- 设计模式---建造者模式
- 设计模式---建造者模式
- 设计模式-----建造者模式
- 设计模式-【建造者模式】
- 设计模式--建造者模式
- 设计模式建造者模式
- 设计模式- 建造者模式
- Android 通信--蓝牙
- 智能指针之 shared_ptr
- SEAndroid概述
- RQNOJ 合唱队形
- SQL 性能调优 笔记
- 设计模式-建造者模式
- 12306分析
- Fight Club
- Struts2— Result与ResultType
- 黑马程序员_银行调度系统
- PHP性能常用检测
- forward与redirect的区别
- 12306分析(2)
- poj2411 状态压缩~方案数