文档详情

软件设计模式与体系结构课程作业.docx

发布:2017-12-22约1.3万字共38页下载文档
文本预览下载声明
计算机科学与技术学院《软件设计模式与体系结构》课程作业(一) 目 录实验一1工厂方法模式——汽车保险1抽象工厂方法模式——房屋信息3实验二6组合模式——空军指挥系统6适配器模式——客户信息验证8实验三11桥接模式——几何立体体积11访问者模式——计算机部件销售软件14实验四17策略模式——整数排序17状态模式——交通信号灯19实验五21MVC软件体系结构21实验一工厂方法模式——汽车保险【实验内容】 在例2.3的汽车保险管理应用程序实例上添加一个名为LuxuryCarInsurance的类,并且,该类要与其他的类一样能执行相应的功能。【添加代码】添加LuxuryCarInsurance类: public class LuxuryCarInsurance implements AutoInsurance { private String description; public String getInsuranceDescription() { description = LuxuryCarInsurance: \n\nLuxuryCarInsurance coverage pays for medical bills + lost wages, rehabilitation, treatment and/or + funeral costs for anyone injured or killed + by your car. Such coverage will also pay for + pain and suffering damages when a third + party successfully sues. ; return description; } }添加LuxuryCarPolicyProducer类: public class LuxuryCarPolicyProducer implements PolicyProducer { public AutoInsurance getPolicyObj() //Fruit factory() { return new LuxuryCarInsurance(); } }添加GUI: (1)public static final String LUXURYCAR = LuxuryCar Insurance; (2)cmbInsuranceType.addItem(LUXURYCAR); (3)if (type.equals(LUXURYCAR)) {pp=new LuxuryCarPolicyProducer(); }【实验结果】 【实验小结】使用工厂方法访问并且初始化合适的类的对象,简化了应用程序,应用程序本身不再含有大量的条件语句判定何时选取哪个类。其次,工厂方法实现了一些特殊的某个类的机制,尤其是层次结构不同的类需要不同的初始化方法的时候。抽象工厂方法模式——房屋信息【实验内容】 在例2.4中设计并且实现了豪华(Super)和中等(Medum)别墅(House)和公寓(Condo)的查询。要求在该设计的基础上,增加一个新的类SemiDetacher(半独立式楼宇),并且编写代码实现相应的查询功能。【添加代码】1、添加SemiDetacher类: public interface SemiDetacher { public String getSemiDetacherInfo(); public String getSemiDetacherFeatures(); }添加SuperSemiDetacher类: public class SuperSemiDetacher implements SemiDetacher { private String name; public SuperSemiDetacher(String cName) { name = cName; } public String getSemiDetacherInfo() {return superSemiDetacher.html; } public String getSemiDetacherFeatures() {return Super SemiDetacher ; } }3、添加MediumSemiDetacher类: public class MediumSemiDetacher implements SemiDetacher { private String name; public MediumSemiDetacher(String cName) { name = cName; } public String getSemiDetach
显示全部
相似文档