软件设计模式实验报告材料

软件设计模式实验报告材料

ID:30235355

大小:805.42 KB

页数:31页

时间:2018-12-28

软件设计模式实验报告材料_第1页
软件设计模式实验报告材料_第2页
软件设计模式实验报告材料_第3页
软件设计模式实验报告材料_第4页
软件设计模式实验报告材料_第5页
软件设计模式实验报告材料_第6页
软件设计模式实验报告材料_第7页
软件设计模式实验报告材料_第8页
软件设计模式实验报告材料_第9页
软件设计模式实验报告材料_第10页
资源描述:

《软件设计模式实验报告材料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、计算机科学与技术学院实验报告课程名称:软件设计模式专业:计算机科学与技术班级:2011级1班学号:201113137040姓名:刘进平实验一单例模式的应用1实验目的1)掌握单例模式(Singleton)的特点2)分析具体问题,使用单例模式进行设计。2实验内容和要求很多应用项目都有配置文件,这些配置文件里面定义一些应用需要的参数数据。通常客户端使用这个类是通过new一个AppConfig的实例来得到一个操作配置文件内容的对象。如果在系统运行中,有很多地方都需要使用配置文件的内容,系统中会同时存在多份配置文件的内容,这会严重浪费内存资源。事实上,

2、对于AppConfig类,在运行期间,只需要一个对象实例就够了。那么应该怎么实现呢?用C#控制台应用程序实现该单例模式。绘制该模式的UML图。UML图:源代码:classProgram{staticvoidMain(string[]args){AppConfigappConfigOne=AppConfig.GetParameterA();AppConfigappConfigTwo=AppConfig.GetParameterA();if(appConfigOne.Equals(appConfigTwo)){Console.WriteLine(

3、"appConfigOne和appConfigTwo代表的是同一个实例!");}else{Console.WriteLine("appConfigOne和appConfigTwo代表的是不同的实例!");}Console.ReadKey();}}}运行结果:实验小结:通过这次实验,我了解了单例模式的具体概念和使用方法,并且感受到了他的优点带来的方便,但是同时也知道了该设计模式的缺点:由于单例模式中没有抽象层,因此单例类的扩展有很大困难。实验二工厂模式的应用1实验目的1)掌握工厂模式(Factory)的特点2)分析具体问题,使用工厂模式进行设计

4、。2实验内容和要求有一个OEM制造商代理做HP笔记本电脑(Laptop),后来该制造商得到了更多的品牌笔记本电脑的订单Acer,Lenovo,Dell,该OEM商发现,如果一次同时做很多个牌子的本本,有些不利于管理。利用工厂模式改善设计,用C#控制台应用程序实现该OEM制造商的工厂模式。绘制该模式的UML图。UML图:源代码:classLaptop{publicvirtualvoidGetLaptop(){}}classHpLaptop:Laptop{publicoverridevoidGetLaptop(){Console.WriteLin

5、e("生产了一台Hp电脑");}}classAcerLaptop:Laptop{publicoverridevoidGetLaptop(){Console.WriteLine("生产了一台Acer电脑");}}classLenovoLaptop:Laptop{publicoverridevoidGetLaptop(){Console.WriteLine("生产了一台Lenovo电脑");}}classDellLaptop:Laptop{publicoverridevoidGetLaptop(){Console.WriteLine("生产了一台

6、Dell电脑");}}interfaceIFactory{LaptopCreateFactory();}classHpFactory:IFactory{publicLaptopCreateFactory(){returnnewHpLaptop();}}classAcerFactory:IFactory{publicLaptopCreateFactory(){returnnewAcerLaptop();}}classLenovoFactory:IFactory{publicLaptopCreateFactory(){returnnewLenov

7、oLaptop();}}classDellFactory:IFactory{publicLaptopCreateFactory(){returnnewDellLaptop();}}classProgram{staticvoidMain(string[]args){IFactorylaptopFactory=newLenovoFactory();IFactorylaptopFactory1=newHpFactory();IFactorylaptopFactory2=newAcerFactory();IFactorylaptopFactory3=

8、newDellFactory();Laptoplaptop=laptopFactory.CreateFactory();Laptoplaptop1=laptopFa

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

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

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