一、
某房地产公司欲开发一套房产信息管理系统,根据如下描述选择合适的设计模式进行设计:
(1) 该公司有多种房型,如公寓、别墅等,在将来可能会增加新的房型;
(2) 销售人员每售出一套房子,主管将收到相应的销售消息。
参考解答:【个人观点】
对于描述(1)可以选择使用工厂方法模式,对于描述(2)可以选择使用观察者模式,本题参考类图如下所示:
在类图中,HouseCreator是抽象房屋工厂类,其子类VilladomCreator用于创建别墅Villadom,子类ApartmentCreator用于创建公寓Apartment,Villadom和Apartment都是抽象房屋类House的子类,此时应用了工厂方法模式,如果增加新类型的房屋,只需对应增加新的房屋工厂类即可,原有代码无须做任何修改;House类同时作为抽象观察目标,子类Villadom和Apartment作为具体观察目标,