文档介绍:.
软件设计模式与体系结构
TAIYUAN UNIVERSITY OF SCIENCE AND TECHNOLOGY
计算机科学与技术学院
《软件设计模式与体系结构》
课程作业(一)
G ;l Ex 1. t
【实验小结】
使用工厂方法访问并且初始化合适的类的对象, 简化了应用程序,应用程序 本身不再含有大量的条件语句判定何时选取哪个类。其次,工厂方法实现了一 些特殊的某个类的机制,尤其是层次结构不同的类需要不同的初始化方法的时 候。
抽象工厂方法模式一一房屋信息
【实验内容】
(Super)和中等(Medum )别墅(House) 和公寓(Condo)的查询。要求在该设计的基础上,增加一个新的类SemiDetacher (半独立式楼宇),并且编写代码实现相应的查询功能。
【添加代码】
1 添加 SemiDetacher 类:
public in terface SemiDetacher
{
public Stri ng getSemiDetacherl nfo();
public String getSemiDetacherFeatures();
}
2、添加 SuperSemiDetacher 类:
public class SuperSemiDetacher impleme nts SemiDetacher
{
private String name;
public SuperSemiDetacher(Stri ng cName)
{
n ame = cName;
public Stri ng getSemiDetacherl nfo()
{
return "";
}
public String
getSemiDetacherFeatures()
{
return "Super SemiDetacher ";
}
}
3、添加 MediumSemiDetacher 类:
public class MediumSemiDetacher impleme nts SemiDetacher
{
private String name;
public MediumSemiDetacher(Stri ng cName)
{
n ame = cName;
}
public String getSemiDetacherInfo() return ""; }
public String
getSemiDetacherFeatures()
{
return "Medium SemiDetacher
}
}
4、 添加 BuildingFactory :
public abstract SemiDetacher getSemiDetacher();
5、 添加 MediumBuildingFactory :
public SemiDetacher getSemiDetacher() {
return new
MediumSemiDetacher("Medium SemiDetacher");
}
6、 添加 SuperBuildingFactory :
public SemiDetacher getSemiDetacher() {
return new
SuperSemiDetacher("Super SemiDetacher");
}
7、 添加GUI :
(1) public static final String SEMIDETACHER = "SemiDetacher";
(2) (SEMIDETACHER);
(3) if (( HER)) {
SemiDetacher cd = ();
Stri ng fileNm = nfo();
putHousel nfoToScree n(fileNm); }
【实验结果】
| 二廿 Alb strac± factosry Pa tt& rn ~£ es r ch for h ou ee 5. — 口 X
Super Semi-detidier list
BandtMig. Co. Cork CastLe Road D2e5O0Ch0 Senu-Detached | 3 Bedroom