软件设计模式-观察者模式
阅读数:104 评论数:0
跳转到新版页面分类
架构学
正文
观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
设计原则:为了交互对象之间的松耦合设计而努力。
改变主题或观察者其中一方,并不会影响另一方。因为两者是松耦合,只要他们之间的接口仍被遵守。
实现观察者模式的方法不只一种,但是以包含Subject与Observer接口的类设计的做法最常见。
(1)封装变化:在观察者模式中,会改变的是主题的状态,以及观察者的数目和类型。用这个模式,你可以改变依赖于主题状态的对象,却不必改变主题。
(2)针对接口编程:观察者使用主题的接口向主题注册,而主题利用观察者接口通知观察者。
(3)多用组合:用“组合”将许多观察者组合进主题中。
Spring事件驱动模型就是观察者模式很经典的一个应用。
相关推荐
设计原则:要依赖抽象,不要依赖具体类。
这个原则听起来很像是“针对接口编程,不针对实现编程”,然而这里更强调“抽象”,不能让高层组件依赖底层组件,而且,不管高层或低层组件,“两者”应该依赖于抽象。
一
一、概述
单件模式:确保一个类只有一个实例,并提供一个全局访问点。对于频繁使用的对象,特别是重量级对象,可以省略创建对象所花费的时间,同时降低GC压力。
采用私有构造器。Spring容器中的Bean默
一、概述
命令模式:将动作的请求者从动作的执行者中解耦。
发起请求的对象是调用者,调用者只要调用命令对象的execute()方法就可以让接收者工作,而不必知道具体的接收者对象是谁、是如何工作的。
命
模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
算法内的步骤不要切割的太细,否则会较没有弹性。
钩子是