昨天去面试,面试官提出一个问题,需求大概这样. 有几个监控设备,我们要监控这些数据保存到数据库,同时如果这些数据有异常的话,要及时通知相关人. 一开始我想到的是,做一个服务去扫那些数据,如果有异常,我们就发通知过去. 但给面试官否则了,它说那个通知要实时性的.所以我马上就想到,我们要在原始数据采取中下手,但当时现场也没有很好的模式出来,回来后,我就觉的用下面的设计去做,应该是比较完美的.这样可以极大对代码进行解耦. 请看类图:
详细说明如下:
关于设计模式的一些总结:
其实我们在设计的时候,并不是一定要遵守一些模式,我们设计的目的就是要实现,类的解偶,最好就实现拆拔式的设计,然后把相同的功能集中在一个地方写,同时要遵守相关的面相对象的设计原则,具体可参考我的博客.
http://www.cnblogs.com/jake1/archive/2013/05/03/oop.html.
只要我们遵守这些东西去做,那么我们的设计就会比较完美了.
这上面的设计,其实我是有参考观察者模式,请看下图.