软件设计模式与体系结构 下载本文

.

【实验小结】

使用工厂方法访问并且初始化合适的类的对象,简化了应用程序,应用程序本身不再含有大量的条件语句判定何时选取哪个类。其次,工厂方法实现了一些特殊的某个类的机制,尤其是层次结构不同的类需要不同的初始化方法的时候。

-

.

抽象工厂方法模式——房屋信息

【实验内容】

在例2.4中设计并且实现了豪华(Super)和中等(Medum)别墅(House)

和公寓(Condo)的查询。要求在该设计的基础上,增加一个新的类SemiDetacher(半独立式楼宇),并且编写代码实现相应的查询功能。

【添加代码】

1、添加SemiDetacher类:

public interface SemiDetacher {

public String getSemiDetacherInfo(); public String getSemiDetacherFeatures();

}

2、添加SuperSemiDetacher类:

public class SuperSemiDetacher implements SemiDetacher {

private String name;

public SuperSemiDetacher(String cName)

{ }

name = cName;

public String getSemiDetacherInfo()

-

.

{

return \

}

public String getSemiDetacherFeatures()

{ }

return \

}

3、添加MediumSemiDetacher类:

public class MediumSemiDetacher implements SemiDetacher {

private String name;

public MediumSemiDetacher(String cName) { }

public String getSemiDetacherInfo() {

return \

name = cName;

}

public String getSemiDetacherFeatures()

-

.

{ }

return \

}

4、添加BuildingFactory:

public abstract SemiDetacher getSemiDetacher();

5、添加MediumBuildingFactory:

public SemiDetacher getSemiDetacher() {

return new MediumSemiDetacher(\

}

6、添加SuperBuildingFactory:

public SemiDetacher getSemiDetacher() {

return new SuperSemiDetacher(\

}

7、添加GUI:

(1)public static final String SEMIDETACHER = \

(2)cmbHouseType.addItem(SEMIDETACHER);

-