观察着模式

有几个变量都会影响类的实现

一个基类,多个子类(几个数字的max、min、ave)

有一个观察者类,该类中有三个函数,分别为注册函数、删除对象函数、通知对象函数

该类中有一个私有变量,这个变量是一个基类的列表

使用:

创建子类对象,注册子类对象或删除子类对象。

通知子类对象的函数中会调用该子类对象的具体使用者三个变量实现子类的方法。如min类就用三个数字计算最小是。max就计算最大值

观察者模式的特点是:可以注册类对象、删除类对象、外界环境改变可以通知类对象(一次性通知所有注册的类对象)

时间: 2024-09-29 06:26:56

观察着模式的相关文章

OC教程9-开发模式

OC9-开发模式 本章内容主要讲述OC语言中常用的开发模式,开发模式是解决某些具体问题的固定解决方案.在OC中主要由三种可以使用 单例模式 键值观察模式 消息模式 1,单例模式 在开发过程中,经常有一些共享型的数据需要储存在一个公共的地方,需要的时候,可以方便回去.单例模式便提供创建一个公共地方的方法. @interface TestObj: NSObject @property double a; @end 例如我们声明上文中的一个对象,其中有一个a的属性可以存储数据. TestObj * o

模式问题

1.列举你所知道的设计模式,并对其中两个进行简单介绍 答:设计模式是一套被反复使用,多数人知晓的,经过分类编目的,代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. (1)MVC设计模式:模型(M)-视图(V)-控制器(C)模式,可将您的代码分割为几个独立的部分.模型部分定义应用程序的数据引擎,负责维护数据的完整性:视图部分定义应用程序的用户界面,对显示在用户界面上的数据出处则没有清楚的认识:控制器部分则充当模型和控制器的桥梁,帮助实现数据和显示的更新.

Java Observable 模式

一.Observer模式的意图: 在对象的内部状态发生变化时,自动通知外部对象进行响应. 二.Observer模式的构成: ·被观察者:内部状态有可能被改变,而且又需要通知外部的对象 ·观察者:需要对内部状态的改变做出响应的对象 三.Observer模式的Java实现: Java的API中已经为我们提供了Observer模式的实现.具体由java.util.Observable类和java.util.Observer接口完成. 前者有两个重要的方法: ·setChanged:设置内部状态为已改变

[objective-c] 09 - 开发模式 单例 KVO 通知

本章内容主要讲述OC语言中常用的开发模式,开发模式是解决某些具体问题的固定解决方案.在OC中主要有三种模式可以使用 单例模式 键值观察模式 消息模式 1.单例模式 在开发过程中,经常有一些共享型的数据需要储存在一个公共的地方,需要的时候,可以方便回去使用.单例模式便提供创建一个公共地方的方法. @interface TestObj: NSObject @property double a; @end 例如我们声明上文中的一个对象,其中有一个a的属性可以存储数据. TestObj * obj1 =

设计模式3(原型模式,中介模式)

原型模式 Delphi中实现是将创建方法进行了strict private 处理 Clone方法不仅产生新的实例,还要对原来对象的属性等进行Clone Tcontractprototype=class(IPrototype) Strict provide Create(Aobject:Tcontractprototype) Public Function Clone:TContractPrototype; End; 中介者模式 封装对象之前的交互 体现了依赖抽象不依赖子类的原则,同事通过中介来触

MVC和MVP

Model View Presenter vs Model View Controller简介 在我工作中经常需要处理一些由于开发人员没能很清楚地理解MVC和MVP模式的区别的情况下使用它们而产生的问题.在这篇文章中我将会阐述一下我对两者之间区别的一些理解.在N层体系结构中MVC/P 模式仅仅只是用于表示层(presentation layer),理解这一点很重要.这两个模式并不是关于怎么构建数据层(data layer)和服务层(service layer)的,而是关于怎么将数据(data)从

「程序员思维训练」1. 读前声明

本书作者:Andy Hunt「催康 译」 读前须知: 本书是对 高级程序员 的思维训练,包括个人提升和团队管理等 在没有达到本书的读者水平的情况现 建议跳读,先了解,取其所需 一本书没有必要一次性读完「针对所有的书籍而言」期间你还可以做很多事情,这样可以提高阅读的效率 Chapter 1 绪论 诀窍 :始终关注情境 经验之谈不是指令清单,它们必须在一定的情境下使用 切记随波逐流                                Only dead fish go with the f

JVM知识学习与巩固

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的. 我们运行和调试Java程序的时候,经常会提到一个JVM的概念.JVM是Java程序运行的环境,但是他同时一个操作系统的一个应用程序一个进程,因此他也有他自己的运行的生命周期,也有自己的代码和数据空间. 以下转自:http://blog.csdn.net/ning109314/article/details/10

我理解设计模式C++实现观察者模式Observer Pattern

概述: 近期中国股市起起伏伏,当然了起伏就用商机,小明发现商机后果断想入市,买入了中国证券,他想在电脑client上,网页上,手机上,iPad上都能够查看到该证券的实时行情,这样的情况下我们应该怎么设计我们的软件呢?我们能够这样:小明的全部client上都订阅中国证券这个股票,仅仅要股票一有变化,全部的client都会被通知到而且被自己主动更新. 这就是我们的观察者模式,她定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 全部依赖于它的对象都得到通知并被自己主动更新. 类图与实例: