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

做快餐 承包食堂的公司网站手机模块网站

做快餐 承包食堂的公司网站,手机模块网站,前端开发35岁以后干什么,电子请柬制作软件app设计模式最大的作用就是在变化和稳定中间寻找隔离点#xff0c;然后分离它们#xff0c;从而管理变化。将变化像小兔子一样关到笼子里#xff0c;让它在笼子里随便跳#xff0c;而不至于跳出来把你整个房间给污染掉。 设计思想 主题对象#xff08;出版者#xff09;管理… 设计模式最大的作用就是在变化和稳定中间寻找隔离点然后分离它们从而管理变化。将变化像小兔子一样关到笼子里让它在笼子里随便跳而不至于跳出来把你整个房间给污染掉。 设计思想 主题对象出版者管理某些数据当主题内的数据改变就会通知观察者订阅者。 观察者模式定义了对象之间的一对多依赖当一个对象改变状态时它的所有依赖者都会收到通知并自动更新。相比让多个对象控制同一份数据可以得到更干净的OO设计。 业务场景 假定现在有一个气象站类这个气象站类会不定时更新温度湿度气压的最新数据要求你在这些数值变化时立即通知一些气象局进行展示而他们得到的数据是一样的但是采用的展示手段可能是不一样的比如有的采用图示有的采用文字有的采用语音播报等给出设计代码。 代码案例 #include iostream #include vector #include algorithmusing namespace std;// 观察者抽象类 class Observer { public:virtual void update(const float tmp, const float hum, const float pre) 0;virtual ~Observer() {} };// 展示抽象类 class Display { public:virtual void display() const 0;virtual ~Display() {} };// 主题抽象类 class Subject { public:virtual void registerObserver(Observer* b) 0;virtual void removeObserver(Observer* b) 0;virtual void notifyObserver() const 0;virtual ~Subject() {} };class WeatherData : public Subject { private:std::vectorObserver* observers;float temperature 0;float humidity 0;float pressure 0;public:WeatherData() : Subject() {}void registerObserver(Observer* b){observers.push_back(b);}void removeObserver(Observer* ob){auto it find(observers.begin(), observers.end(), ob);if (it ! observers.end()){observers.erase(it);}}// 通知观察者使得所有观察者更新信息。void notifyObserver() const{for (auto it : observers){it-update(temperature, humidity, pressure);}}void measurementsChanged(){notifyObserver();}// 设置气象站天气信息并通知观察者。void setMeasurements(const float tmp, const float hum, const float pre){temperature tmp;humidity hum;pressure pre;measurementsChanged();}~WeatherData(){for (auto each : observers){delete each;each nullptr;}} };class CurrentConditionsDisplay : public Observer, public Display { private:float temperature 0;float humidity 0;Subject* weatherData nullptr;public:// 初始化信息板并在气象站对其登记。CurrentConditionsDisplay(Subject* wd) : Observer(), Display(){weatherData wd;weatherData-registerObserver(this);}// 更新天气信息并展示。void update(const float tmp, const float hum, const float pre){temperature tmp;humidity hum;display();}void display() const{cout 气象局1: 当前温度 temperature , 当前湿度 humidity endl;}~CurrentConditionsDisplay(){if (weatherData){delete weatherData;weatherData nullptr;}} };class CurrentConditionsDisplay2 : public Observer, public Display { private:float temperature 0;float humidity 0;Subject* weatherData nullptr;public:// 初始化信息板并在气象站对其登记。CurrentConditionsDisplay2(Subject* wd) : Observer(), Display(){weatherData wd;weatherData-registerObserver(this);}// 更新天气信息并展示。void update(const float tmp, const float hum, const float pre){temperature tmp;humidity hum;display();}void display() const{cout 气象局2: 当前温度 temperature , 当前湿度 humidity endl;}~CurrentConditionsDisplay2(){if (weatherData){delete weatherData;weatherData nullptr;}} };int main() {WeatherData* wd new WeatherData();CurrentConditionsDisplay* cd new CurrentConditionsDisplay(wd);CurrentConditionsDisplay2* cd2 new CurrentConditionsDisplay2(wd);// wd修改天气信息 并通知展示板wd-setMeasurements(80, 65, 30.4f);wd-setMeasurements(60, 35, 32.1f);wd-removeObserver(cd);cout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ endl;wd-setMeasurements(60, 35, 31.1f);return 0; }
http://www.w-s-a.com/news/564864/

相关文章:

  • 做购物网站的步骤网站核心词如何做
  • 做品牌设计网站公司网站没做301怎么做301
  • 服务流程企业网站wordpress文章的使用
  • 网站开发组合淘宝网站开发选什么类目
  • 广东手机网站建设个人电脑做网站主机
  • 健身俱乐部网站开发文档建一个网站需要什么条件
  • 买的网站模板怎么做建设行政管理部门网站
  • 怎么让百度多收录网站关键词seo深圳
  • 陕西交通建设集团网站体检个人网站设计模板田田田田田田田田
  • ae模板网站推荐安徽建筑信息平台
  • 新网站建设代理商wordpress模板商店
  • 中国十大设计素材网站wordpress发布失败
  • 江西省建设监理网站网页制作与设计是什么
  • 在招聘网站做销售怎么样网址你懂我意思正能量不用下载ios
  • 高端企业网站定制公司企业网站2000元
  • 成都网站建设:河北省建设工程质量监督网站
  • 四川省建设厅官网信息查询平台北京seo关键词优化外包
  • 网站建设响应式是什么意思wordpress弹窗打开网页
  • 做美工需要参考的网站漳州做网站的公司
  • 用源码建设网站关于网站开发的自我评价
  • 网站设计师图片自助建站编辑器
  • 网站建设的常用技术有哪些深圳建筑工地招工
  • 做软装找图片的网站wordpress 替代
  • 制作网站的后台公众号做视频网站会封吗
  • 广西企业建站邯郸景区网站制作
  • 开发商城网站多少钱城厢区建设局网站
  • 网站外链多的危害天水市建设局网站
  • 网站接入商学交互设计网站
  • 目前最新的网站后台架构技术综述什么网站可以做名片
  • 成都建站长沙做网站美工的公司