欢迎来到天天文库
浏览记录
ID:40199595
大小:212.00 KB
页数:17页
时间:2019-07-25
《10软工-设计模式》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、院系:计算机科学学院专业:软件工程年级:2010课程名称:设计模式指导教师:艾勇组号:学号:0906508409065109姓名:赵晓宇崔伟峰2013年10月25日第17页年级 2010专业 软件工程班级 01实验名称 设计模式程序设计实验分项内容分项内容1、实验一创建型模式(Factory模式与AbstractFactory模式)2、实验二结构型模式(Adapter模式)3、实验三行为型模式(Observer模式)4、5、6、小组成员姓名学号组内分工自我评分教师评分赵晓宇09065084实验一实验三 5崔伟峰090651095实验二实验三 5 小组成绩评
2、定教师签名:年月日第17页实验分项1 实验一创建型模式(Factory模式与AbstractFactory模式) 实验目的1、掌握Factory模式与AbstractFactory模式的意图及其代码实现。2、了解两种模式的区别。实验要求具体题目用C++或Java语言实现Factory模式与AbstractFactory模式。系统平台VC6.0或以上版本环境下均可实验原理及步骤Factory.h#ifndefFACTORY_H#defineFACTORY_H//ProductclassProduct{public:Product(){}virtual~Produ
3、ct(){}};//继承自Product的ConcreateProduct子类classConcreateProduct:publicProduct{public:ConcreateProduct();virtual~ConcreateProduct();};//CreatorclassCreator{public:Creator(){}virtual~Creator(){}voidAnOperation();protected:virtualProduct*FactoryMethod()=0;};//继承自Creator的ConcreateCreator子类
4、classConcreateCreator:publicCreator{第17页public:ConcreateCreator();virtual~ConcreateCreator();protected:virtualProduct*FactoryMethod();};#endif*******************************************Factory.cpp#include"Factory.h"#includeusingnamespacestd;ConcreateProduct::ConcreateProdu
5、ct(){std::cout<<"constructionofConcreateProduct";}//创建ConcteateProductConcreateProduct::~ConcreateProduct(){std::cout<<"destructionofConcreateProduct";}//销毁ConcteateProductvoidCreator::AnOperation(){Product*p=FactoryMethod();std::cout<<"anoperationofproduct";}ConcreateCreator:
6、:ConcreateCreator(){std::cout<<"constructionofConcreateCreator";}ConcreateCreator::~ConcreateCreator(){std::cout<<"destructionofConcreateCreator";}Product*ConcreateCreator::FactoryMethod(){returnnewConcreateProduct();}*************************************Main.cpp#include"Factory
7、.h"#includeintmain(intargc,char*argv[])第17页{Creator*p=newConcreateCreator();p->AnOperation();deletep;system("pause");return0;}第17页实验结果及分析心得体会软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。Factory模式的作用:定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到
8、其子类AbstractFactory模
此文档下载收益归作者所有