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

深圳网站建设方维电商网页设计网站

深圳网站建设方维,电商网页设计网站,wordpress 如何编辑器,网站加载效果怎么做的观察者模式是软件开发中常用的一种设计模式#xff0c;它通过定义一对多的依赖关系#xff0c;使得一个对象#xff08;主题#xff09;的状态变化可以通知多个其他对象#xff08;观察者#xff09;。 这种模式的优点是解耦和增加扩展性#xff0c;用于实现对象之间的…观察者模式是软件开发中常用的一种设计模式它通过定义一对多的依赖关系使得一个对象主题的状态变化可以通知多个其他对象观察者。 这种模式的优点是解耦和增加扩展性用于实现对象之间的松耦合通信。 如果要自己编码实现我们通常定义一个主题接口Subject和一个观察者接口Observer。主题接口中包含注册观察者、移除观察者和通知观察者的方法而观察者接口中则定义了更新状态的方法。具体的主题类和观察者类实现这些接口并进行相应的业务逻辑实现。 考虑到实现简单点我们假定有一个广播类这个广播类实际上就是一个主题Subject有多个听众收听这个广播这里每个听众就是一个观察者Observer 定义一个主题Subject的接口类 /*** 主题被观察者*/ public interface Subject {/*** 添加观察者*/void addObserver(Observer observer);/*** 移除观察者*/void removeObserver(Observer observer);/*** 通知观察者*/void notifyObserver(String message); } 定义一个观察者Observer的接口类 /*** 观察者*/ public interface Observer {void recieve(String message);} 接下来就是定义一个广播的类用来实现主题接口  /*** 广播负责向听众广播消息*/ public class Broadcast implements Subject{private final ListObserver observerList new ArrayList();Overridepublic void addObserver(Observer observer) {observerList.add(observer);}Overridepublic void removeObserver(Observer observer) {observerList.remove(observer);}Overridepublic void notifyObserver(String message) {for (Observer observer : observerList) {observer.recieve(message);}} } 再定义一个听众类用来实现观察者接口 public class Audience implements Observer {private final String name;public Audience(String name) {this.name name;}Overridepublic void recieve(String message) {System.out.println(name received message: message);} } 写一个测试类来测试结果 public class Test {public static void main(String[] args) {Broadcast broadcast new Broadcast();Audience audience1 new Audience(哈尔滨听众);Audience audience2 new Audience(大庆听众);broadcast.addObserver(audience1);broadcast.addObserver(audience2);broadcast.notifyObserver(中央电视台黑龙江电视台);broadcast.notifyObserver(黑龙江电视台中央电视台);broadcast.removeObserver(audience2);broadcast.notifyObserver(大庆听众关了广播);}} 结果打印如下  解释一下广播了两拨消息2名听众都收到了这两拨消息。后面移除了一个听众广播了第三波消息这时只有剩下的那个听众收到了广播消息
http://www.pierceye.com/news/491778/

相关文章:

  • 网站备案是在哪个部门织梦cms 获得网站流量次数
  • 公司网站放哪些内容ui培训班教程
  • 电子商务网站设计目的及要求百通互联网站建设
  • 网站做端口是什么问题微信最新版本官方版下载安装
  • 活字格能开发企业网站吗本地做网站
  • 建立一个小型网站多少钱微信公众号移动网站开发
  • 网站建设设计师招募建设方案模板范文
  • 做网站需要多少钱一年wordpress网站语言
  • 专门做家具的网站做网站建设的怎么赢利
  • 网站建设教程皆赞湖南岚鸿完成站长网站大全
  • 广州市网站建设 合优系统学做网站
  • 网站建设客户相关问题wordpress主题怎么选
  • 网站数据迁移教程网络营销项目策划书范文
  • 网站 只收录首页网站建设手机端页面模板
  • 光明区建设局网站云南省工程建设造价协会网站
  • 网站建设视频教程 百度云网站制作背景图片
  • 网站域名起名网站建设企业排行榜
  • 高端品牌网站定制设计wordpress多张页面左右滑动
  • git网站开发网名logo设计制作
  • seo在线网站诊断推推蛙seo兼职怎么收费
  • 网站数据分析视频深圳市昊客网络科技有限公司
  • 外贸网站做开关行业的哪个好网站互动优化
  • 西班牙语网站设计哪家好开发一个跑腿app需要多少钱
  • 怎么才能提高网站点击量 免费网站原型图软件
  • wordpress私人建站主题网络公司手机网站
  • 做网站设计比较好的公司wordpress wp_trim_words
  • 湖南对外建设集团网站wordpress中数据库配置文件
  • 设计类网站模板物流企业网站建设策划书
  • dw建设手机网站永久免费网站推荐
  • 微信官方网站怎么进入自己做网站推广试玩