三种设计模式

一.实验目的

  1. 熟悉建模工具。
  2. 掌握简单工厂模式、工厂方法模式、抽象工厂模式,并进行设计应用。
    二、实验内容
    (1)、简单工厂模式
    使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,请实现该场景。现需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进行修改并注意女娲的变化。
    (2)、工厂方法模式
    海尔工厂(Haier)生产海尔空调(HaierAirCondition),美的工厂(Midea)生产美的空调(MideaAirCondition) 。使用工厂方法模式描述该场景,绘制类图并编程实现。
    (3)、抽象工程模式
    电脑配件生产工厂生产内存、CPU等硬件设备,这些内存、CPU的品牌、型号并不一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。

三.题目分析
(1)创建一个Person接口,然后用Man,Woman,Robot三个类分别来实现Person接口。然后通过工厂类类名Make直接调用工厂方法make,只需要传入一个简单的参数即可,无须知道对象的创建细节。将参数保存在XML等格式的配置文件中,修改时无须修改任何Java源代码。
(2)创建一个factory接口和一个Aircondition接口,然后用haier和Midea两个类分别来实现factory接口,再用haierAircondition和MediaAircondition两个类来实现Aircondition接口。通过工厂子类(haier和Midea)来确定究竟应该实例化哪一个具体产品类(haierAircondition和MediaAircondition)。
(3)创建了一个factory接口,一个RAM接口和一个CPU接口,用mac和pc两个类来实现factory接口,用macRAM和pcRAM两个类来实现RAM接口,用macCPU和pcCPU两个类来实现CPU接口。这样能够保证客户端始终只使用同一个产品族中的对象

四.类图设计
(1)
三种设计模式_第1张图片
(2)三种设计模式_第2张图片
(3)
三种设计模式_第3张图片
五.程序实现

六.调试、测试及运行结果
(1)
在这里插入图片描述
三种设计模式_第4张图片
在这里插入图片描述
在这里插入图片描述
三种设计模式_第5张图片
(2)
在这里插入图片描述
三种设计模式_第6张图片
在这里插入图片描述
三种设计模式_第7张图片
(3)
在这里插入图片描述
三种设计模式_第8张图片
三种设计模式_第9张图片
三种设计模式_第10张图片

七.经验归纳
(1)简单工厂模式适用于工厂类负责创建的对象比较少。
客户端只知道传入工厂类的参数,对于如何创建对象不关心。
(2)工厂方法模式适用于客户端不知道它所需要的对象的类。抽象工厂类通过其子类来指定创建哪个对象。
(3)抽象工厂模式适用于系统中有多于一个的产品族,但每次只使用其中某一产品族。属于同一个产品族的产品将在一起使用。产品等级结构稳定。
通过这次实验我了解了三种设计模式的应用,Java反射机制的应用以及XML配置文件的使用带来的便利。

你可能感兴趣的:(三种设计模式)