单例模式跟观察者模式
单例模式和观察者模式
由于工作的关系,用到上述两种的设计模式比较多。下面主要介绍这两个模式的概念和应用场合。
单例模式(Singleton):使类的实例化,在系统中唯一存在。比如10个队打球,每一对队伍之间要打一场球,事先不知道谁和谁打,待分组确定后才能确定,而且是只打一场。这样也就是说在同一时刻,在这个活动中,只有一个存在。再比如说一个页面,当点击某个按钮产生消息时,弹出一个页面即可,第二次点击时,在某个时间段还是一个页面。这里的时间段一定是一个有限的有效时间,当随着点击弹出多个页面时,是毫无用途,一个即可。
观察者模式(Observer):是将观察者与被观察者进行分离,观察者对象之间互不影响。是一种一对多的设计模式。比如日常生活中的红绿灯,各个行路人之间是毫无关联,当红绿灯的状态发生改变时,各个观察者发现这个改变的行为后,各自调整自己的行为。还有一个典型的例子就是银行的账户,存款人和银行作为观察者,时刻留意账户的变化,及时的调整自己的行为,存款人如何处理这部分钱,银行该如何给存款人计算利息等等。还有一种是GUI页面中的使用,一个系统中的功能,要时刻留意用户在界面上操作了什么,并时刻更新自己配置中的参数。从而达到用户想要系统实现的功能。