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

东庄水利建设公司网站珠海专业医疗网站建设

东庄水利建设公司网站,珠海专业医疗网站建设,wordpress的ico,群晖nas做网站服务器概述 观察者模式#xff08;Observer Pattern#xff09;是一种行为型设计模式#xff0c;它定义了一种一对多的依赖关系#xff0c;让多个观察者对象同时监听一个主题对象#xff0c;当主题对象发生变化时#xff0c;所有依赖于它的观察者对象都会得到通知并更新。 在…概述 观察者模式Observer Pattern是一种行为型设计模式它定义了一种一对多的依赖关系让多个观察者对象同时监听一个主题对象当主题对象发生变化时所有依赖于它的观察者对象都会得到通知并更新。 在观察者模式中有两个主要角色 Subject主题维护一个观察者列表提供方法用于添加、删除和通知观察者。Observer观察者定义一个接口用于接收主题对象的通知以便在主题发生变化时更新自身状态。 电商系统的应用 促销通知的例子 假设我们有一个电商系统当某件商品有促销活动时需要通知所有订阅了该商品的用户。在这个例子中商品是主题用户是观察者 首先我们创建一个Subject接口表示主题 public interface Subject {void registerObserver(Observer o);//添加void removeObserver(Observer o);//删除void notifyObservers();//通知 }接下来我们创建一个Observer接口表示观察者 public interface Observer {void update(String discountInfo); }现在我们创建一个具体的主题如Product实现Subject接口 public class Product implements Subject {private ArrayListObserver observers;// 折扣消息private String discountInfo;public Product() {observers new ArrayList();}public void registerObserver(Observer o) {observers.add(o);}public void removeObserver(Observer o) {int index observers.indexOf(o);if (index 0) {observers.remove(index);}}public void notifyObservers() {for (Observer o : observers) {o.update(discountInfo);}}public void discountChanged() {notifyObservers();}public void setDiscountInfo(String discountInfo) {this.discountInfo discountInfo;discountChanged();} }接着我们创建一个具体的观察者如User实现Observer接口 public class User implements Observer {private String userName;private String discountInfo;private Subject product;public User(String userName, Subject product) {this.userName userName;this.product product;product.registerObserver(this);}public void update(String discountInfo) {this.discountInfo discountInfo;display();}public void display() {System.out.println(用户 userName 收到促销通知: discountInfo);} }2个接口2个具体的类。 现在我们可以创建一个Product实例主题并向其注册User观察者。当Product的促销信息发生变化时User会收到通知并显示促销信息。 public class Main {public static void main(String[] args) {//注册2个用户User user1 new User(张三, product);User user2 new User(李四, product);// 模拟商品促销信息更新Product product new Product();product.setDiscountInfo(本周末满100减50);product.setDiscountInfo(双十一全场5折);} }在这个例子中我们创建了一个Product实例并向其注册了两个User观察者。当Product的促销信息发生变化时所有观察者都会收到通知并更新自己的显示。这个例子展示了观察者模式在电商系统中的应用如何实现商品和用户之间的交互。 源码应用 观察者模式在许多Java框架和库中都有应用以下是一些常见的示例 Java 内置类库Java内置了一些使用观察者模式的类例如 java.util.Observable 和 java.util.Observer。虽然在较新的Java版本中已经不推荐使用但它们仍然是观察者模式的一个例子。你可以通过扩展 Observable 类并实现 Observer 接口来创建自己的观察者模式。 Swing GUI 框架Swing中的事件监听就是观察者模式的应用。比如你可以为按钮添加动作监听器当按钮被点击时监听器会收到通知并执行相应的操作。 Spring FrameworkSpring框架广泛使用观察者模式特别是在事件驱动编程中。例如Spring的事件机制允许你在应用中发布和监听事件当某些事件发生时注册的监听器会收到通知并执行相应的逻辑。 Android开发Android中的事件处理也是观察者模式的应用例如你可以为按钮添加点击事件监听器当按钮被点击时监听器会收到通知。 这些只是一些例子观察者模式在许多框架和应用中都有广泛的应用。它提供了一种松耦合的方式允许不同部分的代码能够在发生变化时保持同步从而实现更加灵活和可维护的程序。
http://wiki.neutronadmin.com/news/244531/

相关文章:

  • 高端网站建设公司哪里济南兴田德润实惠吗免费推广平台软件有哪些
  • 沈阳网站建设首选龙兴科技百度一下 你知道首页
  • 中文域名指向同一个网站电影院卖品套餐计划
  • 贵州网站设计公司2023今天的新闻联播
  • 电子 网站模板装饰公司 网站模板
  • 公司企业建站wordpress 发布api
  • wordpress 英文站赚钱谷歌商店下载
  • 19寸 网站做多大自己建设网站要多久
  • 网站运营的含义是什么北京网站备案负责人变更
  • 公司网站修改 优帮云青岛做网站推广公司
  • 建设诚信网站建设电子票务系统的网站需要多少钱
  • 网站建设开发计入什么会计科目app软件公司
  • 网站编程用什么语言网站页面不更新
  • 住房和城乡建设网站注册服务公司流程和费用
  • 建设企业网站内容wordpress题库制作
  • 精品网站建设费用 要上磐石网络肥城网站建设推广
  • 免费空间 上传网站专业网站设计第三方
  • 建筑行业官方网站可以做公司宣传的网站有哪些内容
  • 网站怎么做h5支付宝支付接口简历生成网站
  • 电子商务设计网站建设长链接在线转化短链接
  • 门户网站建设不断多用户商城思维导图
  • 东明县住房和城乡建设局网站广告网名
  • 淄博网站制作优化海南营业执照网上怎么申请
  • 润滑油手机网站模板网站建设费归入长期待摊费用
  • 成都成华区网站建设如何判断网站有cdn加速
  • 网站没有备案会怎么样专业微信网站建设价格
  • 电脑培训学校学费多少长沙正规关键词优化价格从优
  • 网站后台管理员密码淮北论坛人才招聘网
  • 响应式网站建站工具江门网站建设 卓华
  • 网站建设方案云盘app开发商业计划书模板