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

徐州泉山区建设局网站做外贸主要在那些网站找单

徐州泉山区建设局网站,做外贸主要在那些网站找单,佛山智能模板建站,南昌建设医院网站篇十四#xff1a;“观察者模式#xff1a;对象间的通知与更新” 设计模式是软件开发中的重要知识#xff0c;观察者模式#xff08;Observer Pattern#xff09;是一种行为型设计模式#xff0c;用于在对象间建立一种一对多的依赖关系#xff0c;当一个对象的状态发生…篇十四“观察者模式对象间的通知与更新” 设计模式是软件开发中的重要知识观察者模式Observer Pattern是一种行为型设计模式用于在对象间建立一种一对多的依赖关系当一个对象的状态发生变化时所有依赖它的对象都将得到通知并自动更新。本文将介绍观察者模式的概念和用途并分析在C中实现观察者模式的方法和最佳实践。 开始本篇文章之前先推荐一个好用的学习工具AIRIght借助于AI助手工具学习事半功倍。欢迎访问http://airight.fun/。 另外有2本不错的关于设计模式的资料分享出来与大家学习参考。 链接https://pan.baidu.com/s/1RmhQF_o1CdK8U7s5KeILog?pwdxc6d 提取码xc6d 1. 观察者模式的概念和用途 观察者模式是一种经常用到的设计模式它用于将一个对象的状态变化通知给一组依赖它的观察者对象从而实现对象之间的解耦。在观察者模式中被观察的对象称为主题Subject而依赖主题的对象称为观察者Observer。当主题的状态发生变化时所有注册的观察者都会收到通知并进行相应的更新操作。 观察者模式的用途在于当一个对象的状态变化需要影响其他对象时可以通过观察者模式实现对象之间的通信和协作。它在许多场景中都有应用比如图形界面中的事件监听、发布订阅模式中的事件通知等。 2. 在C中实现观察者模式 在C中实现观察者模式需要涉及以下几个核心元素 a. 主题类Subject 主题类负责维护一组观察者对象并提供注册、注销和通知观察者的接口。 // Subject.h #include vector #include Observer.hclass Subject { public:void addObserver(Observer* observer) {observers_.push_back(observer);}void removeObserver(Observer* observer) {auto it std::find(observers_.begin(), observers_.end(), observer);if (it ! observers_.end()) {observers_.erase(it);}}void notifyObservers() {for (auto observer : observers_) {observer-update();}}private:std::vectorObserver* observers_; };b. 观察者类Observer 观察者类是一个抽象类它包含了一个用于接收主题通知的更新接口。 // Observer.h class Observer { public:virtual void update() 0; };c. 具体观察者类ConcreteObserver 具体观察者类实现了观察者接口它定义了观察者在收到通知后的具体行为。 // ConcreteObserver.h #include iostream #include Observer.hclass ConcreteObserver : public Observer { public:void update() override {std::cout Received notification and updated. std::endl;} };d. 客户端使用观察者模式 客户端可以创建主题对象和具体观察者对象并将观察者注册到主题中。当主题的状态发生变化时调用notifyObservers()函数通知所有观察者进行更新。 // main.cpp #include Subject.h #include ConcreteObserver.hint main() {Subject subject;ConcreteObserver observer1;ConcreteObserver observer2;subject.addObserver(observer1);subject.addObserver(observer2);// 主题状态发生变化通知所有观察者更新subject.notifyObservers();return 0; }3. 观察者模式的代码解析 观察者模式通过建立主题和观察者之间的依赖关系实现了对象之间的通知与更新。主题类负责维护观察者列表并在状态发生变化时通知所有观察者。观察者类负责定义更新接口具体观察者类实现了更新接口并定义了具体的更新行为。 4. 最佳实践 在实现观察者模式时需要注意以下几点 主题和观察者之间的解耦主题类应该尽可能地与具体观察者类解耦从而使得主题可以通知任意类型的观察者对象。灵活性与性能的权衡在设计观察者模式时需要根据实际需求权衡灵活性和性能。通常情况下可以通过异步更新等方式提高性能但这可能会降低观察者模式的灵活性。 5. 总结 观察者模式是一种重要的设计模式它可以实现对象之间的通知与更新从而实现对象之间的解耦。在C中我们可以通过定义主题类和观察者类来实现观察者模式。观察者模式在许多场景中都有应用特别是在需要实现一对多通信的情况下非常有用。 希望本文能够帮助您深入理解观察者模式的概念和用途并通过C的示例代码演示了如何在C中实现观察者模式。设计模式是软件开发中的重要知识掌握不同的设计模式有助于提高代码质量、可维护性和可扩展性。 参考文献 Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional. C Core Guidelines: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines 感谢您的阅读欢迎一起探讨共同进步推荐大家使用学习助手AIRight来解答学习过程中的问题访问链接http://airight.fun/
http://www.yutouwan.com/news/253571/

相关文章:

  • 介绍几个网站杨凌住房和城乡建设局网站
  • 做毕设的网站wap网站源码 下载
  • 如何查网站的空间东莞市网络公司
  • 北京城乡建设学校网站昆明商城网站建设
  • 零基础学做网站教程湖南省网站备案登记
  • 中网互联网站建设南宁百度推广seo
  • 做网站的文案是指七台河建设网站
  • 做京挑客的网站有哪些零基础1小时快速建站
  • 瀑布式网站科技袁人袁岚峰
  • 中国大良网站建设网页界面设计的要求
  • 清流县建设局网站图片站wordpress
  • 建设视频网站链接百度云盘apicloud官网下载
  • 公司做公司网站广告一个地址能注册几个公司
  • 网站推广策划包含的内容做网站的工作
  • 作文大全网站链接建设银行网站用户密码找回
  • 静态网站分页wordpress主题制作导航
  • 网站开发字体选择建筑工程网上申报如何补件
  • 毕设做网站具体步骤黑龙江省建设协会网站
  • 中卫市平面设计培训学校郴州seo网络优化
  • 深圳网站建设易通鼎中交路桥建设有限公司网站
  • 爱站关键词查询wordpress 自动同步工具
  • 西安网站架设公司用wordpress建立导航网站
  • 网站框架布局大连房地产网站开发
  • wordpress全站ajax代码企业网站建设公司排名
  • 网站制作优质公司Wordpress官网网址
  • 备案做电影网站吗广州微信网站建设平台
  • 网站建设与管理实训主要内容wordpress 小工具无法拖拽
  • 4399自己做游戏网站叫别人做网站要多久
  • 专业网站建设搭建写代码的软件
  • 三亚网站设计公司万户网络做网站如何