一次去参加一房地产管理系统的公司面试时,碰到一道设计模式的题,大意就是公司有多种房型,包括公寓,别墅等,另
外,销售人员每售出一套房子时,公司的高管就会收到消息。
初步分析题意,要用到观察者模式(通知公司高管),还有就是工厂模式(公司有多种房型)当然也可以是策略模式的。
UML类图如下所示:
代码如下:
首先是简单工厂的一些类
房子类
房子类型:
公寓类
别墅类
销售房子的工厂类
接下来就是Observer Pattern的类了
主题类
观察者类
具体的观察者
当然这里还可以建立一个BOSS类,内容和经理类差不多。
具体的主题类(不晓得这里处理得对不对,小弟初学设计模式)
最后是MAIN函数了
运行结果如下:
最近一直在学习设计模式 ,今天就拿这个面试题作为例子来练手,也不晓得是不是最好的方法。
参考资料:
head first to design pattern
大话设计模式(小菜大鸟版)