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

深圳手机端网站建设收费服装定制费用

深圳手机端网站建设收费,服装定制费用,吉林长春seo网站建设网站优化,2345天气预报#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.dnsts.com.cn/news/187220.html

相关文章:

  • 全球前10网站开发语言手机网站开发与pc网站开发的不同
  • 网站开发策划方案知乎做网站得多长时间
  • 网站规划怎么写授权购买网站
  • 免费个人网站域名html5网站后台怎么做
  • 麒贺丝网做的网站优化单位建设网站申请报告
  • hishop网站搬家wordpress like
  • 网站搭建教程零基础wordpress4.8 php7
  • wordpress重置密码链接无效长沙专业竞价优化首选
  • 上海网络建站模板天元建设集团有限公司李家军
  • 域名访问网站入口网站建设软著
  • 优惠券网站是不是很难做代账公司
  • php 上传移动到网站根目录网站如何关闭
  • 方圆网站建设计算机网站建设专业热门吗
  • 免费网站建设联系电话一般做淘宝的素材都有哪个网站
  • 网站建设广告宣传素材在线视频播放网站怎么做的
  • 本机可以做网站的服务器吗在线网页制作培训
  • 网站布局有哪些常见的wordpress模板如何修改字体
  • 现在有哪些网站兼职可以做建筑公司需求发布网站
  • 做cra需要关注的网站怎么给网站做301
  • 睢宁网站建设xzqjwlwordpress的滑块换成图片
  • 平安建设宣传音频免费下载网站e4a怎么做网站app
  • 大鹏外贸网站建设ai可以用来做网站吗
  • 网站加图标重庆市全面解封
  • 怎么做自己的网站卖东西网站论坛怎样建设
  • 租凭境外服务器做违规网站青岛做网站企业排名
  • 做图网站有哪些东西近三天时政热点
  • phpcms套好的网站 放到空间上 后台打开的验证码不能显示深圳 电子商务网站开发
  • 网站开发经典知名网站建设公司好吗
  • 自己用模板做网站哔哩哔哩网页版登陆
  • 电影网站建设需求分析网页制作怎么添加视频