三种设计模式
一.题目分析:
1.简单工厂模式
使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,现需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象。它主要由三个角色组成,工厂类,抽象产品角色,具体产品角色。在女娲造人这个题中,男人,女人,女娲工厂类为接口类,机器人都是具体产品角色
2.工厂方法模式
海尔工厂(Haier)生产海尔空调(HaierAirCondition),美的工厂(Midea)生产美的空调(MideaAirCondition) 。它主要由四个角色组成,抽象工厂角色,具体工厂角色,抽象产品角色,具体产品角色。抽象工厂是具体工厂必须实现的接口,具体工厂调用以创建对应的具体产品的对象,抽象产品是具体产品实现的接口,具体工厂角色所创建的对象就是此角色的实例。在空调这个题中,空调工厂是工厂接口,海尔工厂和美的工厂都是具体工厂,产品接口类是抽象产品,海尔空调和美的空调都是具体产品。
3.抽象工厂模式
电脑配件生产工厂生产内存、CPU等硬件设备,这些内存、CPU的品牌、型号并不一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。产品族的定义是位于不同产品等级结构中,功能相关联的产品组成的家族。它是最抽象,最具一般性的,给客户端提供一个接口,可以创建多个产品族中的产品对象。而它的角色与工厂方法模式如出一辙。
在电脑配件这一题中,PcRAM和MacCPU属于同一个产品族,PcQRAM和MacRAM属于同一个产品树(产品等级结构)。factory属于抽象工厂接口,Pcfactory和Macfactory属于具体工厂,CPU和RAM属于抽象产品接口,PcCPU和MacCPU实现CPU接口,PcRAM和MacRAM实现RAM接口。
二.类图设计:
1.简单工厂模式:
2.工厂方法模式:
3.抽象工程模式:
三.项目结构:
四.运行结果
1.简单工厂模式:
2.工厂方法模式:
3.抽象工程模式:
五.调试截图:
六.个人感悟:
此次上机使我了解了主要的设计模式,通过具体的实例了解并掌握了简单工厂模式,工厂方法模式以及抽象工厂模式,并了解到了不同设计模式的优缺点