设计模式之C++版

设计模式之C++版

ID:40388007

大小:162.00 KB

页数:33页

时间:2019-08-01

设计模式之C++版_第1页
设计模式之C++版_第2页
设计模式之C++版_第3页
设计模式之C++版_第4页
设计模式之C++版_第5页
资源描述:

《设计模式之C++版》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、这里,对设计模式的概念就不细说了,凡是用过或者看过这方面书籍的都应该有所了解。鄙人认为正是设计模式的出现,使得C++的三大性质——封装、继承和多态发挥的淋漓尽致。尤其是多态性质,可以说是面向对的精髓所在。封装性是为了很好的管理数据和方法;继承是为了提高代码的重用;而多态的出现,使得执行过程中,出现多样性,调用一个方法时,可以从父类跳到子类执行,又从子类调用父类的方法等等,函数调用过程呈现曲线形式。总之,执行期,表现出多样化。所以,要想很好的掌握设计模式,必须对多态性有很深的了解,再则,对类与类之间的关

2、系有个清晰的认识,类与类之间的关系,无非6大关系——继承和实现、依赖和关联、组合和聚合。每个模式都是对类之间的这6种关系进行组合,呈现出不同的表现形式,下面,一一介绍23种设计模式,用到的类之间的关系和C++代码(在VS2008调试没问题的)。先说创建型模式:1、FactoryPattern工厂模式使用到的类关系:继承和依赖33/33图1工厂模式UML图Head.h#ifndef_FACTORY_HEAD_#define_FACTORY_HEAD_#includeusingstd:

3、:cout;usingstd::endl;classCProduct;classCFactory{private:public:CFactory(){}~CFactory(){}public:virtualCProduct*CreateProduct()=0;};classCConcreteFactory:publicCFactory{private:public:CConcreteFactory();~CConcreteFactory();public:virtualCProduct*CreateP

4、roduct();};classCProduct{private:public:CProduct(){}~CProduct(){}public:virtualvoidOperation()=0;};classCConcreteProduct1:publicCProduct{private:public:CConcreteProduct1();~CConcreteProduct1();public:virtualvoidOperation();};classCConcreteProduct2:publi

5、cCProduct{private:public:CConcreteProduct2();~CConcreteProduct2();public:virtualvoidOperation();};#endif33/33Main.cpp#include"Head.h"CConcreteFactory::CConcreteFactory(){}CConcreteFactory::~CConcreteFactory(){}CProduct*CConcreteFactory::CreateProduct(){

6、returnnewCConcreteProduct2();}//////////////////////////////////////////////////////////CConcreteProduct1::CConcreteProduct1(){}CConcreteProduct1::~CConcreteProduct1(){}voidCConcreteProduct1::Operation(){cout<<"CConcreteProduct1Operation!"<

7、////////////////////////////////////////////////CConcreteProduct2::CConcreteProduct2(){}CConcreteProduct2::~CConcreteProduct2(){}voidCConcreteProduct2::Operation(){cout<<"CConcreteProduct2Operation!"<

8、CProduct*pPro=pFac->CreateProduct();if(pPro!=NULL)pPro->Operation();deletepPro;deletepFac;return0;}33/332、AbstractFactoryPattern抽象工厂模式使用到的类关系:继承和依赖图2抽象工厂模式Head.h#ifndef_ABSTRACT_FACTORY_HEAD_#define_ABSTRACT_FACTORY_HEAD_#include

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。