动机(Motivation)
·在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,
将使软件不能很好地抵御变化。
·使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。
A依赖B——>A编译时B必须存在才能编译通过(除非明确提出依赖是运行时依赖,不然通常指编译式依赖)
C++一般不推荐多继承,会造成很多复杂的耦合性的问题。但建议一种多继承:一个是主的继承类,其他都是接口
模式定义
定义对象间的一种一对多(变化)的依赖关系,以便当一个对象(Subject)的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。
![](/upload/otherpic5/b0468ea4ba63408daab5cd43eb057a19.jpg)
要点总结
· 使用面向对象的抽象,Observer模式使得我们可以独立地改变目标与观察者,从而使二者之间地依赖关系达致松耦合。
![](/upload/ad_content/xuanchuantu-9.jpg)
10年积累的成都网站设计、网站制作、
外贸营销网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先
网站设计后付款的网站建设流程,更有
乐东黎族免费网站建设让你可以放心的选择与我们合作。
· 目标发送通知时,无需指定观察者,通知(可以携带通知信息作为参数)会自动传播。
·观察者自己决定是否需要订阅通知,目标对象对此一无所知。
·Observer模式是基于事件的UI框架中非常常用的设计模式,也是MVC模式的一个重要组成部分
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网站题目:设计模式——观察者模式-创新互联
链接地址:
http://bjjierui.cn/article/esehp.html