当前位置: 首页 > news >正文

徐州网站开发公司台州seo排名扣费

徐州网站开发公司,台州seo排名扣费,提供邯郸企业建网站,找公司做网站要注意什么问题观察者模式属于行为型模式。在程序设计中,观察者模式通常由两个对象组成:观察者和被观察者。当被观察者状态发生改变时,它会通知所有的观察者对象,使他们能够及时做出响应。 三要素:观察者(Observer&#…

观察者模式属于行为型模式。在程序设计中,观察者模式通常由两个对象组成:观察者和被观察者。当被观察者状态发生改变时,它会通知所有的观察者对象,使他们能够及时做出响应。

三要素:观察者(Observer),被观察者,事件。
观察者 将自己注册到被观察对象中,被观察对象将观察者存放在一个容器里。
被观察者 事件发生了变化,被观察者从容器中得到注册的观察者,将变化通知观察者。

/*
教室里老师还没有来,小张正在打游戏,小李正在抄作业。
班长监视老师,当老师来了通知大家。然后打游戏的停止,抄作业的也停止。
班长是通知者(被观察者),小张/小李是观察者。
*/
//Observer.h
#include <list>
using namespace std;class ITeacherObserver
{
public:virtual void onTecherComming(int value) = 0;
};
//MonitorNotifier.h
#include <list>
#include "Observer.h"
using namespace std;class MonitorNotifier //班长,被观察者类
{
public:void AddObserver(ITeacherObserver *observer);void RemoveObserver(ITeacherObserver *observer);void NotifyObserver();void setValue(int value);private:list<ITeacherObserver *> listenners;int mValue;
};//MonitorNotifier.cpp
#include "MonitorNotifier.cpp"class MonitorNotifier //班长,被观察者类
{
public:void AddObserver(ITeacherObserver *observer){listenners.push_back(observer);}void RemoveObserver(ITeacherObserver *observer){ITeacherObserver *it;for (it = listenners.begin(); it != listenners.end(); it++){if (*it == observer){listenners.remove(observer); break;}}}void NotifyObserver(){list<ITeacherObserver *>::iterator it;for (it = listenners.begin(); it != listenners.end(); it++){(*it)->onTecherComming(mValue);}}void setValue(int value){mValue = value;NotifyObserver();}
private:list<ITeacherObserver *> listenners;int mValue;
};
//ZhangSan.h
#include "Observer.h"class ZhangSan : public ITeacherObserver //观察者类ZhangSan
{
public:void onTecherComming(int value);void stopCopyWork(int value);
};//ZhangSan.cpp
#include "ZhangSan.h"class ZhangSan : public ITeacherObserver //观察者类ZhangSan
{
public:void onTecherComming(int value){stopCopyWork(value);}void stopCopyWork(int value){printf("zhangsan stopCopyWork + %d\n" ,value);}
};
//LiSi.h
#include "Observer.h"class LiSi : public ITeacherObserver //观察者类LiSi
{
public:void onTecherComming(int value);void stopPlayGame(int value);
};//LiSi.cpp
#include "LiSi.h"class LiSi : public ITeacherObserver //观察者类LiSi
{
public:void onTecherComming(int value){stopPlayGame(value);}void stopPlayGame(int value){printf("lisi stopPlayGame + %d\n" ,value);}
};
#include <iostream>
#include "ZhangSan.h"
#include "LiSi.h"
#include "Observer.h"int main(int argc, _TCHAR* argv[])
{MonitorNotifier monitor;ZhangSan zs;monitor.AddObserver(&zs);//LiSi ls;//monitor.AddObserver(&ls);monitor.setValue(1);return 0;
}
http://www.yidumall.com/news/72241.html

相关文章:

  • 网站推广计划至少应包括搜索到的相关信息
  • 网站的建设要多少钱网站建设服务公司
  • 烟台网站制作这武汉抖音seo搜索
  • 哪里有网站建设培训班百度联盟注册
  • 字体图标网站优化大师班级
  • 微信网站怎么做的好名字今日最新财经新闻
  • 南通做网站企业竞价托管外包代运营
  • 广州网站建设制作公司seo推广培训中心
  • 网站备案号查询网址ui设计
  • 新网站如何做测试seo排名查询工具
  • 企业网站建设案例网络营销软件商城
  • 做公益的网站微信推广怎么做
  • 域名和网站的关系指数计算器
  • phpcms 网站转移免费推广软件下载
  • 宜都网站制作2022年大事热点新闻
  • 旅行社网站开发百度投诉中心入口
  • 欧洲c2c平台杭州seo推广服务
  • 想制作自己的网站成都进入搜索热度前五
  • 论文做系统简单还是网站简单seo是什么牌子
  • 西宁seo网站建设百度网盘搜索引擎入口官网
  • 男女做羞羞事图片大全动态网站关键词seo优化公司
  • 微信公众号做留言网站建网站的公司排名
  • 网页设计网站建设抖音广告投放代理商
  • 跳转网站怎么做seo智能优化公司
  • 做网站怎么推广收益大网站制作平台
  • 企业网站怎么做排名百度营销推广登录平台
  • 网站策划报告书怎么做网络营销的企业有哪些
  • 西藏网站建设公司北京seo顾问
  • 苏州网站优化找哪家会计培训班推荐
  • 文化传播公司网站备案济南seo优化公司