- 1、本文档共64页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编程,医学,游戏开发,机械制造,无机玻璃,电机,健身,保健,锻炼
(一)简单工厂模式2
(二)策略模式4
策略与工厂结合6
单一职责原则6
开放――封闭原则6
里氏代换原则7
依赖倒转原则7
(三)装饰模式7
(四)代理模式9
(五)工厂方法模式11
(六)原型模式13
(七)模板方法模式15
迪米特法则 16
(八)外观模式16
(九)建造者模式(生成器模式)19
(十)观察者模式23
(十一)抽象工厂模式28
(十二)状态模式32
(十三)适配器模式34
(十四)备忘录模式37
(十五)组合模式39
(十六)迭代器模式45
(十七)单例模式46
(十八)桥接模式47
(十九)命令模式49
(二十)责任链模式52
(二十一)中介者模式54
(二十二)享元模式56
(二十三)解释器模式59
(二十四)访问者模式61
(一)简单工厂模式
主要用于创建对象。新添加类时,不会影响以前的系统代码。核心思想是用一个工厂来
根据输入的条件产生不同的类,然后根据不同类的 virtual 函数得到不同的结果。
GOOD:适用于不同情况创建不同的类时
BUG:客户端必须要知道基类和工厂类,耦合性差
(工厂类与基类为关联关系)
例:
//基类
class COperation
{
public:
int m_nFirst;
int m_nSecond;
virtual double GetResult()
{
double dResult=0;
return dResult;
}
};
//加法
class AddOperation : public COperation
{
public:
virtual double GetResult()
{
return m_nFirst+m_nSecond;
}
};
//减法
class SubOperation : public COperation
{
public:
virtual double GetResult()
{
return m_nFirstm_nSecond;
}
};
//工厂类
class CCalculatorFactory
{
public:
static COperation* Create(char cOperator);
};
COperation* CCalculatorFactory::Create(char cOperator)
{
COperation *oper;
//在 C#中可以用反射来取消判断时用的 switch,在 C++中用什么呢?RTTI??
switch (cOperator)
{
case +:
oper=new AddOperation();
break;
case :
oper=new SubOperation();
break;
default:
oper=new AddOperation();
break;
}
return oper;
}
客户端
int main()
{
int a,b;
cinab;
COperation * op=CCalculatorFactory::Create();
opm_nFirst=a;
opm_nSecond=b;
coutopGetResult()endl;
return 0;
}
您可能关注的文档
最近下载
- 4 JieLink+智能终端操作平台系统调试说明书V1.0.doc
- 2022数学新课标背景下:基于项目式学习的创新教学实例.docx VIP
- 有机合成第六章.ppt VIP
- 抖音来客本地服务行业实体门店运营培训教程(三)抖音实体门店商家经营思路.pptx
- (正式版)D-L∕T 5862-2023 电化学储能电站施工图设计内容深度规定.docx VIP
- 苏教版三年级数学下册《全程测评卷》.doc
- 2024年~2022年浙江省国企招聘历年面试题目及答案解析50套.docx
- 高中物理游标卡尺、千分尺、螺旋测微器读数习题集.doc
- 中考英语作文万能模板及万能句型汇总.docx VIP
- 五个认同爱国主义教育课件.pptx
文档评论(0)