行为型模式之观察者模式

原创 2018年04月14日 23:15:53
#include<iostream>
#include<string>
#include<list>
using namespace std;

class Secretary;
class Observer
{
public:
	Observer(Secretary* secretary)
	{
		m_secretary = secretary;
	}

	void Update(string m)
	{
		cout << m << endl;
	}
private:
	Secretary*m_secretary;
};

//被观察者
class Secretary
{
public:
	Secretary()
	{
		m_list.clear();
	}
	void setObserver(Observer*o)//添加观察者
	{
		m_list.push_back(o);
	}

	void Notify(string m)
	{
		for (list<Observer*>::iterator it = m_list.begin(); it != m_list.end(); it++)
		{
			(*it)->Update(m);//调用观察者
		}
	}
private:
	list<Observer*>m_list;
};

void main()
{
	Secretary *s = new Secretary;
	Observer *p1 = new Observer(s);
	Observer *p2 = new Observer(s);

	s->setObserver(p1);
	s->setObserver(p2);

	s->Notify("boss is coming!");
	s->Notify("boss is gone!");

	delete p2;
	delete p1;
	delete s;

}

行为型:设计模式之观察者模式(十九)

观察者模式是设计模式中的“超级模式”,其应用随处可见,在之后几篇文章里,我将向大家详细介绍观察者模式。         “红灯停,绿灯行”,在日常生活中,交通信号灯装点着我们的城市,指挥着...
  • z742182637
  • z742182637
  • 2015-12-25 11:33:16
  • 413

行为型模式之六——观察者模式

模式定义观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象得到通知并被自动更新。它是一种对象行为型模式。模式结构观察者模式结...
  • kturing
  • kturing
  • 2015-11-04 16:45:46
  • 1178

设计模式(行为型)之观察者模式(Observer Pattern)

观察者模式用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应。在观察者模式中,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应...
  • yanbober
  • yanbober
  • 2015-05-04 20:46:46
  • 5888

(行为型模式) Observer 观察者模式

  • 2009年12月05日 19:51
  • 10.72MB
  • 下载

C#面向对象设计模式纵横谈(19):(行为型模式) Observer 观察者模式 (Level 300)

  • 2008年09月16日 14:43
  • 9.32MB
  • 下载

行为型模式-观察者模式

观察者模式 定义对象间的一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖它的对象都会得到通知并自动更新。 观察者模式角色 抽象主题角色:把所有对观察者对象的引用保存在一...
  • hsgao_water
  • hsgao_water
  • 2015-08-04 16:32:28
  • 150

行为型模式——观察者模式

概述 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。 介绍 意图 定义对...
  • qq_36982160
  • qq_36982160
  • 2018-03-26 20:56:04
  • 17

Command命令(行为型模式)

耦合与变化 耦合是软件不能抵御变化灾难的根本性原因,不仅实体对象与实体对象之间存在耦合关系,实习对象与行为操作之间也存在耦合关系。 动机(Motivation) 在软件构...
  • hjf19790118
  • hjf19790118
  • 2011-10-16 15:17:53
  • 216
收藏助手
不良信息举报
您举报文章:行为型模式之观察者模式
举报原因:
原因补充:

(最多只允许输入30个字)