简单工厂模式, 工厂方法模式,抽象工厂模式的简单实现
一、题目要求
(1)、简单工厂模式
使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,请实现该场景。现需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进行修改并注意女娲的变化。
(2)、工厂方法模式
海尔工厂(Haier)生产海尔空调(HaierAirCondition),美的工厂(Midea)生产美的空调(MideaAirCondition) 。使用工厂方法模式描述该场景,绘制类图并编程实现。
(3)、抽象工程模式
电脑配件生产工厂生产内存、CPU等硬件设备,这些内存、CPU的品牌、型号并不一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。
二、三种模式的UML图
(1)、简单工厂模式
(2)、工厂方法模式
(3)、抽象工程模式
三、代码实现
(1)、简单工厂模式
(2)、工厂方法模式
(3)、抽象工程模式
四、调试、测试及运行
(1)、简单工厂模式
(2)、工厂方法模式
(3)、抽象工程模式
五、学习心得总结
通过本次实验,完成了三种模式的简单练习。
1)、简单工厂模式:
由一个工厂对象根据传入的参数,动态决定创建出哪一种产品的实例。
2)、工厂方法模式:
定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。
3)、抽象工厂模式:
抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。为创建一组相关或相互依赖的对象提供一个借口,而且无需指定它们的具体类。
4)、简单工厂模式和工厂方法模式的联系:
工厂方法模式是简单工厂模式的衍生,解决了许多简单工厂模式的问题。完全实现了“开闭原则”,实现了可扩展。
5)、工厂方法模式和抽象工厂模式的区别:
工厂方法模式针对的是一个产品等级的结构;而抽象工厂模式针对的是多个产品等级结构。