美文网首页
设计模式笔试题解析(二)

设计模式笔试题解析(二)

作者: 黎明神话 | 来源:发表于2018-07-31 10:37 被阅读0次
程序设计:

某房地产公司欲开发一套房产信息管理系统,根据如下描述选择合适的设计模式进行设计。
要求:
(1) 该公司有多种房型,如公寓、别墅等,在将来可能会增加新的房型;
(2) 销售人员每售出一套房子,主管将收到相应的销售消息。

参考解答

对于描述(1)可以选择使用工厂方法模式,对于描述(2)可以选择使用观察者模式,本题参考类图如下所示:

image.png
    在类图中,HouseCreator是抽象房屋工厂类,其子类VilladomCreator用于创建别墅Villadom,子类ApartmentCreator用于创建公寓Apartment,Villadom和Apartment都是抽象房屋类House的子类,此时应用了工厂方法模式,如果增加新类型的房屋,只需对应增加新的房屋工厂类即可,原有代码无须做任何修改;House类同时作为抽象观察目标,子类Villadom和Apartment作为具体观察目标,相关人员类Stakeholder作为抽象观察者,其子类Manager(主管)作为具体观察者,实现了在Stakeholder中声明的response()方法,当房屋售出时,房屋的状态status将发生变化,在setStatus()方法中调用观察者的response()方法,即主管将收到相应消息,此时应用了观察者模式。

相关文章

网友评论

      本文标题:设计模式笔试题解析(二)

      本文链接:https://www.haomeiwen.com/subject/ohpcvftx.html