C++设计模式之建造模式
#include <iostream>
using namespace std;
class ApplePhone
{
public:
virtual void buildCamera()=0;
virtual void buildRAM()=0;
};
class Apple5S:public ApplePhone
{
public:
Apple5S()
{
}
~Apple5S()
{
}
void buildCamera()
{
cout<<"5S 像素是800w"<<endl;
}
void buildRAM()
{
cout<<"5S 内存是64G"<<endl;
}
};
class Apple4S:public ApplePhone
{
public:
Apple4S()
{
}
~Apple4S()
{
}
void buildCamera()
{
cout<<"4S 像素是500w"<<endl;
}
void buildRAM()
{
cout<<"4S 内存是32G"<<endl;
}
};
class FoxconnFactory//富士康工厂
{
private:
ApplePhone *m_applePhone;
public:
FoxconnFactory(ApplePhone *applePhone)
{
m_applePhone = applePhone;
}
~FoxconnFactory()
{
if(m_applePhone!=NULL)
delete m_applePhone;
}
void createApplePhone()
{
m_applePhone->buildCamera();
m_applePhone->buildRAM();
}
};
int main(void)
{
ApplePhone *applePhone=new Apple5S();
FoxconnFactory foxconnFactory(applePhone);
foxconnFactory.createApplePhone();
getchar();
return 0;
}
C++设计模式之建造模式的更多相关文章
- JAVA设计模式之建造模式
在阎宏博士的<JAVA与模式>一书中开头是这样描述建造(Builder)模式的: 建造模式是对象的创建模式.建造模式可以将一个产品的内部表象(internal representation ...
- linkin大话设计模式--建造模式
linkin大话设计模式--建造模式 建造模式是对象的创建模式,可以讲一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象. 建造模式的结构: 抽象建造者 ...
- 设计模式(5)--Builder(建造模式)--创建型
1.模式定义: 建造模式是对象的创建模式.建造模式可以将一个产品的内部表象(internal representation)与产品的生产过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品 ...
- 设计模式之——Builder建造模式
Builder模式又叫建造模式,是用于组装具有复杂结构的实例的模式. 示例程序是编写一个文档,并且写入到文件中,该文档具有以下结构,含有标题,字符串,一些条目. Builder抽象类,为建造模式的核心 ...
- java设计模式--建造模式
建造模式 建造模式属于对象创建型模式,建造模式的目的为将复杂对象的构建过程与其部件实现方式分离,使得同样的构建过程可以有不同的表示,同时相同的构建过程也能够适用于不同的部件实现方式. 建造模式的适用性 ...
- 《JAVA设计模式》之建造模式(Builder)
在阎宏博士的<JAVA与模式>一书中开头是这样描述建造(Builder)模式的: 建造模式是对象的创建模式.建造模式可以将一个产品的内部表象(internal representation ...
- Java设计模式之建造者模式(Builder)
前言: 最近一直在学习okHttp,也对其做了一些整理,okHttp和Retrofit结合大大加速我们的开发效率,源码里面采用了很多设计模式,今天我们来学习一下其中的设计模式之一建造者模式. 建造者模 ...
- 17. 星际争霸之php设计模式--职责链模式
题记==============================================================================本php设计模式专辑来源于博客(jymo ...
- 11. 星际争霸之php设计模式--备忘模式
题记==============================================================================本php设计模式专辑来源于博客(jymo ...
随机推荐
- (转)C#反射机制详解
反射的定义:审查元数据并收集关於它的类型信息的能力,元数据(编辑后的基本数据单元)就是一大堆表,编译器会创建一个类定义表,一个字段定义表,一个方法定义表等,System.Reflection命名空间包 ...
- zookeeper_02:zookeeper基础
ZooKeeper基础概述 ZooKeeper维护一个小型的数据节点,这些节点被称为znode,采用类似于文件系统的层级树状结构进行管理. 针对一个znode,没有数据常常表达了重要的信息.比如,在主 ...
- zoj 1078
非常简单的题,没什么好说的.唯一值得一提的就是在判断是否是回文的时候只需遍历一半的元素即可,稍微提高一点性能. #include<iostream> using namespace std ...
- AutoCompleteTextView 和 TextWatcher 详解
TextWatcher 监测Edittext内容的变化------------------------------------------------------------------------- ...
- mysql错误:Error Code: 1175. You are using safe update mode and you tried to update a table……
今天遇到一个mysql错误: Error Code: . You are using safe update mode and you tried to update a table withou ...
- 正则表达式之match与exec【转的 楼兰之风】
彻底领悟javascript中的exec与match方法 阅读本文之前,请先看下面一道题: 题目17:Read the following javascript code: var someText= ...
- Zabbix监控Linux主机设置
说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS 6.x系统为例. 一.配 ...
- Unity3d GUI弹窗
ArrayList w_position = new ArrayList(); void OnGUI() { if (GUILayout.Button("Open")) { if ...
- AndroidUI 布局动画-点九PNG技术
下面是正常情况与使用点9切图以后的效果对比: <Button android:id="@+id/button1" android:layout_width="fil ...
- e = e || window.event用法细节讨论
e = e || window.event是我们在做事件处理时候区分IE和其他浏览器事件对象时常用的写法.但是这行兼容性代码有没有必要出现在所有的事件句柄中呢?标准事件调用方式需要这行代码吗?下边我们 ...