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

网站建设项目安排计划表深圳手机端网站建设收费

网站建设项目安排计划表,深圳手机端网站建设收费,wordpress调用优酷视频播放器,服装平台网站有哪些#x1f4a7; 观察者模式 \color{#FF1493}{观察者模式} 观察者模式#x1f4a7; #x1f337; 仰望天空#xff0c;妳我亦是行人.✨ #x1f984; 个人主页——微风撞见云的博客#x1f390; #x1f433; 《数据结构与算法》专栏的文章图文并茂#x1f995;… 观察者模式 \color{#FF1493}{观察者模式} 观察者模式           仰望天空妳我亦是行人.✨ 个人主页——微风撞见云的博客 《数据结构与算法》专栏的文章图文并茂生动形象简单易学欢迎大家来踩踩~ 《Java学习笔记》专栏的文章是本人在Java学习中总结的一些知识点~ 《每天一点小知识》专栏的文章可以丰富你的知识库滴水成河~ 希望本文能够给读者带来一定的帮助~文章粗浅敬请批评指正 文章目录 设计模式之观察者模式引言观察者模式的概念和思想应用场景实现方式使用接口使用 Java 内置的观察者模式 使用观察者模式总结 结语 设计模式之观察者模式 引言 设计模式是软件开发中重要的概念之一。观察者模式是设计模式中的一种它用于定义对象之间的一对多依赖关系当一个对象的状态发生改变时其所有依赖者都会得到通知并自动更新。在本文中我们将深入探讨观察者模式的概念和思想并介绍观察者模式的应用场景以及常见的代码实现方式。 观察者模式的概念和思想 观察者模式是一种行为型设计模式它建立了一种对象之间的依赖关系当一个对象的状态发生改变时其所有依赖者都会得到通知并自动更新。 观察者模式的核心思想是将观察者和被观察者解耦使得它们可以独立变化。被观察者维护一个观察者列表并提供注册、注销和通知观察者的方法。观察者通过注册到被观察者上实现对被观察者状态变化的监听。 观察者模式的应用场景以及常见的代码实现方式 ↓ 应用场景 观察者模式通常在以下场景中使用 当一个对象的状态变化需要通知其他对象并且不希望与被通知的对象之间产生紧耦合关系时。当一个对象的改变需要同时改变其他对象并且不知道有多少对象需要改变时。当一个对象需要将自己的改变通知给一组对象时。 实现方式 观察者模式有多种实现方式其中最常见的方式包括使用接口和使用 Java 内置的观察者模式实现。 使用接口 首先我们定义一个被观察者接口 Subject 和一个观察者接口 Observer public interface Subject {void registerObserver(Observer observer);void unregisterObserver(Observer observer);void notifyObservers(); }public interface Observer {void update(); }在上述代码中Subject 接口定义了注册观察者、注销观察者和通知观察者的方法。Observer 接口定义了观察者的 update() 方法用于接收被观察者的通知。 接下来我们实现具体的被观察者类 ConcreteSubject 和 ConcreteObserver public class ConcreteSubject implements Subject {private ListObserver observers new ArrayList();private int state;public void registerObserver(Observer observer) {observers.add(observer);}public void unregisterObserver(Observer observer) {observers.remove(observer);}public void notifyObservers() {for (Observer observer : observers) {observer.update();}}public int getState() {return state;}public void setState(int state) {this.state state;notifyObservers();} }public class ConcreteObserver implements Observer {private Subject subject;public ConcreteObserver(Subject subject) {this.subject subject;subject.registerObserver(this);}public void update() {int state subject.getState();// 处理被观察者状态变化的逻辑} }在上述代码中ConcreteSubject 类实现了 Subject 接口它维护了一个观察者列表并实现了注册、注销和通知观察者的方法。当 ConcreteSubject 的状态发生变化时它会调用 notifyObservers() 方法通知所有观察者。 ConcreteObserver 类实现了 Observer 接口它在构造函数中注册到被观察者上并实现了 update() 方法来处理被观察者状态变化的逻辑。 使用 Java 内置的观察者模式 Java 提供了内置的观察者模式实现可以通过 java.util.Observable 类和 java.util.Observer 接口来实现观察者模式。 import java.util.Observable; import java.util.Observer;public class ConcreteSubject extends Observable {private int state;public int getState() {return state;}public void setState(int state) {this.state state;setChanged();notifyObservers();} }public class ConcreteObserver implements Observer {public void update(Observable o, Object arg) {int state ((ConcreteSubject) o).getState();// 处理被观察者状态变化的逻辑} }在上述代码中ConcreteSubject 类继承自 java.util.Observable 类并使用 setChanged() 方法标记状态变化然后调用 notifyObservers() 方法通知观察者。 ConcreteObserver 类实现了 java.util.Observer 接口它的 update() 方法会在被观察者状态变化时被调用。 使用观察者模式 以下是观察者模式的使用示例 public class Client {public static void main(String[] args) {ConcreteSubject subject new ConcreteSubject();ConcreteObserver observer1 new ConcreteObserver(subject);ConcreteObserver observer2 new ConcreteObserver(subject);subject.setState(1);// 输出处理被观察者状态变化的逻辑// 输出处理被观察者状态变化的逻辑} }在上述代码中我们创建了一个具体的被观察者对象 ConcreteSubject 和两个具体的观察者对象 ConcreteObserver。通过将观察者注册到被观察者上当被观察者状态发生变化时观察者的 update() 方法会被调用。 总结 观察者模式是一种有用的设计模式它能够实现对象之间的一对多依赖关系当一个对象的状态发生改变时其所有依赖者都会得到通知并自动更新。通过观察者模式我们可以实现松耦合的对象间通信提高代码的灵活性和可维护性。 结语 初学一门技术时总有些许的疑惑别怕它们是我们学习路上的点点繁星帮助我们不断成长。 积少成多滴水成河。文章粗浅希望对大家有帮助
http://www.hkea.cn/news/14583641/

相关文章:

  • 备案 网站名国家公示企业信息查询官网
  • 番禺区大石做网站线上营销的优势和劣势
  • 专业网站建设平台建设网站有什么要素构成
  • 一个人制作网站泉州外贸网站开发公司
  • 宁波网站建设模板制作wordpress文章图片默认居中
  • 街道网站建设更新汇报常德小程序开发公司
  • 阿里云做网站需要环境网站的建设方法包括什么问题
  • 佛山行业网站建设顶棒 技术支持 东莞网站建设
  • 开封 网站建设 网络推广怎么用新浪云做网站
  • 网站模板下载之后怎么做.net 网站生成安装文件目录
  • 深圳网站建设电话咨询室内设计网页
  • 网站大专朝阳区seo搜索引擎优化介绍
  • 站长网站被跳转怎么办手工做皮具国外的网站
  • 漯河装修公司网站建设网络培训资格证书如何获得
  • 石家庄电子商务网站建设青岛建设网站设计公司
  • 当今做啥网站致富南昌地宝网二手房
  • 哪个网站是专做宝宝饭的在哪个网站上做实验仪器比较好
  • 药物研发网站怎么做新冠排名前十名
  • 男女做羞羞视频网站青岛电子商务的网站建设
  • 唐山市建设网站上海建设工程 U盘登录哪个网站
  • 廊坊高端品牌网站建设网站建设的内部风险分析
  • 凡科网站怎么做python做公司网站
  • 游戏推荐网站怎么做网站建设中倒计时模板下载
  • 秒收录网站有哪些网址大全下载安装
  • 免费建站团队网站开发图片多打开速度慢
  • 网站建设价格组成小程序开发费用明细
  • 给别人做网站做什么科目建设银行租房平台网站
  • 网站开发硬件环境网站的域名在哪里看
  • 网站制作哪家实惠深圳网站建设hi0755
  • 市桥网站建设培训学校做电脑网站宽度