`

深入浅出设计模式之观察者模式总结(二)附例子

 
阅读更多
简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者对象能够自动更新。

设计原则:
1.找出程序中会变化的方面,然后将其和固定不变的方面相分离。
在观察者模式中,会改变的是主题的状态,以及观察者的数目和类型。用这个模式,你可以改变依赖于主题状态的对象,却不必改变主题。这就叫提前规划!
2.针对接口编程,不针对实现编程。
主题与观察者都使用接口:观察者利用主题的接口向主题注册,而主题利用观察者接口通知观察者。这样可以让两者之间运作正常,又同时具有松耦合的优点。
3.多用组合,少用继承。
观察者模式利用“组合”将许多观察者组合进主题中。对象之间的这种关系不是通过继承产生的,而是在运行时利用组合的方式而产生的。
  • hf.rar (3.5 KB)
  • 下载次数: 4
分享到:
评论
2 楼 sang4608716 2012-05-04  
不错,深受启发
1 楼 lhy2012 2012-04-16  
少用继承,支持

相关推荐

    深入浅出设计模式(中文版)

    《深入浅出设计模式》是一本面向Java开发者的专业书籍,旨在帮助读者理解并熟练应用设计模式。设计模式是软件工程中的重要概念,它总结了在特定情境下解决常见问题的最佳实践,是经验丰富的开发者们智慧的结晶。这...

    深入浅出设计模式

    《深入浅出设计模式》是一本专注于讲解设计模式的书籍,其内容旨在帮助读者深入理解并熟练运用设计模式。设计模式是软件开发中的一种最佳实践,是解决常见问题的模板,能够提高代码的可读性、可维护性和复用性。这...

    深入浅出java设计模式(高清中文PDF)

    在深入浅出Java设计模式的高清中文PDF文件中,首先以一个生活化的例子引出了工厂模式的概念,介绍了工厂模式在面向对象编程中的重要性和实用性。文档详细讲解了20多种Java设计模式,并且在讲解的过程中包含了丰富的...

    深入浅出设计模式二——WeatherData设计(观察者模式)实现一

    在本文中,我们将深入探讨设计模式中的一个经典案例——观察者模式(Observer Pattern),通过具体的实现来理解其工作原理。观察者模式是一种行为设计模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生...

    深入浅出设计模式免费

    ### 深入浅出设计模式:理解与应用 #### 引言 设计模式作为软件工程领域的一个重要组成部分,对于提升软件质量和可维护性具有不可替代的作用。《深入浅出设计模式》一书通过新颖的教学方法,结合神经生物学、认知...

    HeadFirst Design Patterns深入浅出设计模式 英文PDF版

    设计模式是软件工程中的一种最佳实践,它总结了在特定上下文中解决常见问题的经验和方法,使得开发者可以复用这些经过验证的解决方案,从而提高代码的可维护性和可扩展性。 这本书的核心知识点包括: 1. **单例...

    深入浅出设计模式(中文版电子版)

    5.7ObserverPattern(观察者模式) 236 5.7.1定义 236 5.7.2现实例子——拉登现身了 238 5.7.3C#实例——猫和老鼠 238 5.7.4C#实例——股票变化 241 5.7.5Java实例——监控系统 245 5.7.6优势和缺陷 248 ...

    深入浅出设计模式之与设计模式相处

    根据提供的标题“深入浅出设计模式之与设计模式相处”以及描述“将《Head First 设计模式》(中文版)按章节进行了分割,每章一个文件,方便大家下载”,我们可以推测出这部分内容主要关注的是设计模式的基础理论及其...

    深入浅出之[Head First 设计模式]

    《深入浅出之[Head First 设计模式]》是一本专为初学者和有经验的开发者设计的经典设计模式教程。这本书以其独特的、易于理解的教学方式,深入浅出地阐述了设计模式这一复杂的软件工程概念。设计模式是软件开发中...

    深入浅出C#设计模式 HeadFirst Design Patterns 书籍代码例子

    《深入浅出C#设计模式》是面向C#开发者的一本经典书籍,它基于HeadFirst Design Patterns的理念,用易于理解的方式介绍了多种设计模式。设计模式是软件开发中的经验总结,是一套解决常见问题的最佳实践。这本书通过...

    设计模式(深入浅出,23种设计 模式)

    《深入浅出设计模式》这本书深入探讨了23种经典的设计模式,这些模式广泛应用于面向对象编程中,能够提升代码的可读性、可维护性和可扩展性。以下是关于设计模式和UML语言的一些关键知识点: 1. **单例模式**:确保...

    HeadFirstDesignPattern(深入浅出设计模式)源码

    《深入浅出设计模式》是设计模式领域里一本广受欢迎的书籍,以其独特的教学方式,使得复杂的概念变得易于理解。这本书涵盖了23种经典的设计模式,旨在帮助开发者提高代码的可复用性和可维护性。源码包中的"headfirst...

    head设计模式+设计模式解析(第二版).rar

    《Head First 设计模式》与《设计模式解析(第二版)》是两本关于软件设计模式的重要书籍,它们深入浅出地介绍了设计模式这一核心编程概念。设计模式是经验丰富的软件开发人员在解决常见问题时所形成的通用解决方案...

    Java设计模式之禅

    《Java设计模式之禅》是一本深入浅出讲解设计模式的书籍,书中不仅包含23种经典设计模式的案例,还详细介绍了设计模式背后的思想和原则,适合初学者以及对设计模式有一定了解的程序员阅读。本书旨在帮助读者理解如何...

    深入浅出javascript pdf与实例

    此外,书中可能还会涉及一些高级话题,比如闭包、作用域、模块化(CommonJS、AMD、ES6模块)、设计模式(如工厂模式、单例模式、观察者模式),以及性能优化技巧。JavaScript的ES6(ECMAScript 2015)及后续版本引入...

    Head First 设计模式(中文完整版+附书源码)

    这本书深入浅出地介绍了23种经典设计模式,帮助读者提升软件设计能力,实现可维护、可扩展和可复用的代码。 设计模式可以分为三类:创建型模式、结构型模式和行为型模式。创建型模式关注对象的创建过程,如单例模式...

Global site tag (gtag.js) - Google Analytics