软件设计实验报告 篇一:软件设计模式实验报告 计算机科学与技术学院 实 验 报 告 课程名称: 专 业: 班 级:学 号: 姓 名: 实验一 单例模式的应用 1 实验目的 1) 掌握单例模式(Singleton)的特点 2) 分析具体问题,使用单例模式进行设计。 2 实验内容和要求 很多应用项目都有配置文件,这些配置文件里面定义一些应用需要的参数数据。 通常客户端使用这个类是通过 new 一个 AppConfig 的实例来得到一个操作配置文件内容的对象。假如在系统运行中,有很多地方都需要使用配置文件的内容,系统中会同时存在多份配置文件的内容,这会严重浪费内存资源。 事实上,对于 AppConfig 类,在运行期间,只需要一个对象实例就够了。那么应该怎么实现呢?用 C#控制台应用程序实现该单例模式。绘制该模式的 UML 图。 UML 图: 源代码: class Program { static void Main(string[] args) { AppConfig appConfigOne = AppConfig.GetParameterA(); AppConfig appConfigTwo = AppConfig.GetParameterA(); if (appConfigOne.Equals(appConfigTwo)) { Console.WriteLine( appConfigOne 和 appConfigTwo 代表的是同一个实例! } else { Console.WriteLine( appConfigOne 和 appConfigTwo 代表的是不同的实例! } Console.ReadKey(); } } } 运行结果: 实验小结: 通过这次实验,我了解了单例模式的具体概念和使用方法,并且感受到了他的优点带来的方便,但是同时也知道了该设计模式的缺点:由于单例模式中没有抽象层,因此单例类的扩展有很大困难。 实验二 工厂模式的应用 1 实验目的 1) 掌握工厂模式( Factory)的特点 2) 分析具体问题,使用工厂模式进行设计。 2 实验内容和要求 有一个 OEM 制造商代理做 HP 笔记本电脑(Laptop),后来该制造商得到了更多的品牌笔记本电脑的订单 Acer,Lenovo,Dell,该OEM 商发现,假如一次同 时做很多个牌子的本本,有些不利于管理。利用工厂模式改善设计,用 C#控制台应用程序实现该 OEM 制造商的工厂模式。绘制该模式的 UML 图。 UML 图: 源代码: class Laptop { public virtual void GetLaptop() { } } class HpLaptop:Laptop { public override void GetLaptop() { Console.WriteLine( 生产了一台 Hp 电脑 } } class AcerLaptop : Laptop { public override void GetLapto...