using System; using System.Collections; using System.Collections.Generic; abstract class PaperBusiness { ArrayList customerList=new ArrayList(); public void addCustomer(customer customer) { customerList.Add(customer); } public void removeCustomer(customer customer) { if (customerList.IndexOf(customer) != -1) customerList.Remove(customer); } public void NoticeCustomer() { foreach (customer c in customerList) { c.Noticy(); } } }
观察者抽象
using System; class ChinaPaperBusiness : PaperBusiness { private string _chairManName; private int _worksNumber; public string ChairManName { get { return _chairManName; } set { _chairManName = value; } } public int WorksNumber { get { return _worksNumber; } set { _worksNumber = value; } } }
观察者抽象的实现A
interface customer { void Noticy(); }
接收者接口
using System; class Jim : customer { public PaperBusiness _paperBusiness; public Jim(PaperBusiness paperBusiness) { _paperBusiness = paperBusiness; _paperBusiness.addCustomer(this); } #region customer 成员 public void Noticy() { Console.WriteLine("Jim you must take you paper until 18:00 today."); } public void cancelSubScribe() { _paperBusiness.removeCustomer(this); } #endregion }
接收者A
using System; class Lucy : customer { public PaperBusiness _paperBusiness; public Lucy(PaperBusiness paperBusiness) { _paperBusiness = paperBusiness; _paperBusiness.addCustomer(this); } #region customer 成员 public void Noticy() { Console.WriteLine("Lucy you must take you paper until 18:00 today."); } public void cancelSubScribe() { _paperBusiness.removeCustomer(this); } #endregion }
接收者B
using System; class Tom : customer { private PaperBusiness _paperBusiness; public Tom(PaperBusiness paperBusiness) { _paperBusiness = paperBusiness; _paperBusiness.addCustomer(this); } #region customer 成员 public void Noticy() { Console.WriteLine("Tom you must take you paper until 18:00 today."); } public void cancelSubScrib() { _paperBusiness.removeCustomer(this); } #endregion }
接收者C
using System; using System.Collections.Generic; using System.Text; namespace ObserverPattern { class Program { static void Main(string[] args) { PaperBusiness paperBusiness = new ChinaPaperBusiness(); Jim jim = new Jim(paperBusiness); Tom tom = new Tom(paperBusiness); Lucy lucy = new Lucy(paperBusiness); paperBusiness.NoticeCustomer(); jim.cancelSubScribe(); Console.WriteLine(); paperBusiness.NoticeCustomer(); Console.ReadKey(); } } }
代码调用者
您还没有登录,请您登录后再发表评论
Swift µframework 实现观察者模式Observer pattern
设计模式之观察者模式ObserverPattern
我们说学习Java应该从Swing开始,那么学习Swing最重要的思想就是对于观察者模式的理解(Observer Pattern)。因为,该设计模式在Java Swing框架中贯穿了始终。对于C#的委托、代理概念所使用的Callback(回调模式--...
定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。
1、策略模式STRATEGY PATTERN ...16、观察者模式OBSERVER PATTERN 17、责任链模式 18、访问者模式VISITOR PATTERN 19、状态模式 20、原型模式 21、中介者模式 22、解释器模式 23、亨元模式 24、备忘录模式
从中,我们就可以得出观察者模式的定义。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己的行为...
在设计一组依赖的对象与它们所依赖的对象之间一致(同步)的交流模型时,观察者模式(Observer Pattern)很有用。它可以使依赖对象的状态与它们所依赖的对象的状态保持同步。这组依赖的对象指的是观察者(Observer)...
观察者模式(Observer Pattern)是一种对象行为型设计模式,它定义了对象之间的一对多依赖关系。 当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式通常用于实现分布式事件处理系统...
observer-pattern-demo 观察者模式示例
主要介绍了C#观察者模式(Observer Pattern),主要以一个实例的形式讲述了C#观察者模式的实现过程,详细讲述了接口的定义、通知及动作的实现方法,需要的朋友可以参考下
主要介绍了JavaScript编程设计模式之观察者模式(Observer Pattern),简单说明了观察者模式的概念、原理并结合实例形式详细给出了观察者模式的相关实现与使用技巧,需要的朋友可以参考下
我们某个报表界面现在有个dashboard的数据发生变化,需要在它更新的时候去更新此页面上其它几个报表的数据那么可以使用观察者模式来实现。观察者模式有个很好的特点是能够对观察者的add/remve有很大的灵活性
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。
开发中常用 设计模式 开发者模式,欢迎大家学习。 博客:http://blog.csdn.net/q610098308/article/details/76143959
matlab开发-Observerpattern。观察者模式示例
ObserverPattern.unitypackage是一个以unity为例写的观察者模式的应用举例。有需要的同学请下载!
日常开发中常用的行为型设计模式之观察者模式设计源码demo
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。 观察者模式demo java
相关推荐
Swift µframework 实现观察者模式Observer pattern
设计模式之观察者模式ObserverPattern
我们说学习Java应该从Swing开始,那么学习Swing最重要的思想就是对于观察者模式的理解(Observer Pattern)。因为,该设计模式在Java Swing框架中贯穿了始终。对于C#的委托、代理概念所使用的Callback(回调模式--...
定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。
1、策略模式STRATEGY PATTERN ...16、观察者模式OBSERVER PATTERN 17、责任链模式 18、访问者模式VISITOR PATTERN 19、状态模式 20、原型模式 21、中介者模式 22、解释器模式 23、亨元模式 24、备忘录模式
从中,我们就可以得出观察者模式的定义。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己的行为...
在设计一组依赖的对象与它们所依赖的对象之间一致(同步)的交流模型时,观察者模式(Observer Pattern)很有用。它可以使依赖对象的状态与它们所依赖的对象的状态保持同步。这组依赖的对象指的是观察者(Observer)...
观察者模式(Observer Pattern)是一种对象行为型设计模式,它定义了对象之间的一对多依赖关系。 当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式通常用于实现分布式事件处理系统...
observer-pattern-demo 观察者模式示例
主要介绍了C#观察者模式(Observer Pattern),主要以一个实例的形式讲述了C#观察者模式的实现过程,详细讲述了接口的定义、通知及动作的实现方法,需要的朋友可以参考下
主要介绍了JavaScript编程设计模式之观察者模式(Observer Pattern),简单说明了观察者模式的概念、原理并结合实例形式详细给出了观察者模式的相关实现与使用技巧,需要的朋友可以参考下
我们某个报表界面现在有个dashboard的数据发生变化,需要在它更新的时候去更新此页面上其它几个报表的数据那么可以使用观察者模式来实现。观察者模式有个很好的特点是能够对观察者的add/remve有很大的灵活性
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。
开发中常用 设计模式 开发者模式,欢迎大家学习。 博客:http://blog.csdn.net/q610098308/article/details/76143959
matlab开发-Observerpattern。观察者模式示例
ObserverPattern.unitypackage是一个以unity为例写的观察者模式的应用举例。有需要的同学请下载!
日常开发中常用的行为型设计模式之观察者模式设计源码demo
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。 观察者模式demo java