c/cpp / 设计模式 / 观察者模式 -ag凯发k8国际
ag凯发k8国际
收集整理的这篇文章主要介绍了
c/cpp / 设计模式 / 观察者模式
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
---------------------------------------------
-- 时间:2019-03-22
-- 创建人:ruo_xiao
-- 邮箱:xclsoftware@163.com
---------------------------------------------
#include
一、解释
1、结构:分为目标和观察者。
2、功能:当目标更新时,该模式可以将该更新内容发布给所有的该目标的观察者。
3、实际上,目标通过抽象类得到观察者的接口,然后在其内建立观察者的链表,当发布时直接按照同一个接口(面向接口编程)向所有的观察者的更新。
二、代码
#include-
using namespace std;// 观察者……抽象类
class observe
{
public:virtual void update(int i) = 0;virtual void attach() = 0;virtual void detach() = 0;
};// 目标……抽象类
class subject
{
public:virtual void attach(observe *p) = 0;virtual void detach(observe *p) = 0;virtual void notify() = 0;
};// 建立3个观察者、1个目标
class observe_1 : public observe
{
public:observe_1(subject *p){m_psubject = p;}
public:void attach(){m_psubject->attach(this);}void detach(){m_psubject->detach(this);}void update(int i){cout<<"i am observe 1,showing "<< i <
结果:
(saw:game over!)
总结
以上是ag凯发k8国际为你收集整理的c/cpp / 设计模式 / 观察者模式的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 编写一个程序,开启3个线程,这3个线程的
- 下一篇: c/cpp / 设计模式 / 单例模式(