一次去参加一房地产管理系统的公司面试时,碰到一道设计模式的题,大意就是公司有多种房型,包括公寓,别墅等,另
外,销售人员每售出一套房子时,公司的高管就会收到消息。
初步分析题意,要用到观察者模式(通知公司高管),还有就是工厂模式(公司有多种房型)当然也可以是策略模式的。
UML类图如下所示:

代码如下:
首先是简单工厂的一些类
房子类
房子类型:
公寓类
别墅类
销售房子的工厂类
接下来就是Observer Pattern的类了
主题类
观察者类
具体的观察者
当然这里还可以建立一个BOSS类,内容和经理类差不多。
具体的主题类(不晓得这里处理得对不对,小弟初学设计模式)
最后是MAIN函数了
运行结果如下:

最近一直在学习设计模式 ,今天就拿这个面试题作为例子来练手,也不晓得是不是最好的方法。
参考资料:
head first to design pattern
大话设计模式(小菜大鸟版)
本文通过一个房产管理系统面试题,运用观察者模式和工厂模式,实现了不同类型房屋的销售及通知功能。具体包括房屋类型的抽象、具体房屋实现、房屋销售工厂、观察者模式的通知逻辑等。
3053

被折叠的 条评论
为什么被折叠?



