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

用户管理系统登录admin织梦网站优化

用户管理系统登录admin,织梦网站优化,网站建设php的心得和体会,对网站和网页的认识什么是观察者模式#xff1f; 观察者模式#xff08;又被称为发布-订阅#xff08;Publish/Subscribe#xff09;模式#xff0c;属于行为型模式的一种#xff0c;它定义了一种一对多的依赖关系#xff0c;让多个观察者对象同时监听某一个主题对象。这个主题对象在状态…什么是观察者模式 观察者模式又被称为发布-订阅Publish/Subscribe模式属于行为型模式的一种它定义了一种一对多的依赖关系让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时会通知所有的观察者对象使他们能够自动更新自己。 观察者模式的角色 Subject抽象主题被观察者每一个主题可以有多个观察者并将所有观察者对象的引用保存在一个集合里被观察者提供一个接口可以增加和删除观察者角色 ConcreteSubject具体主题将有关状态存入具体观察者对象在主题发生改变时给所有的观察者发出通知 Observer抽象观察者为所有的具体观察者定义一个更新接口该接口的作用是在收到主题的通知时能够及时的更新自己 ConcreteObserver具体观察者实现抽象观察者角色定义的更新接口以便使本身的状态与主题状态相协调。如果需要具体观察者角色可以保存一个指向具体主题角色的引用。 参考来自设计模式五观察者模式作者刘望舒 观察者模式的使用场景 观察者模式是一种对象行为型模式它通常用于以下场景 消息服务器系统。社交媒体平台。邮件系统。图形界面应用程序。游戏。实现团队协作提高工作效率。观察者模式可以在不同对象之间创建有效关系从而更有效地开发高质量软件。 具体实现 假设有这么一个场景我是B站up主有很多粉丝关注我我发视频了他们就会点赞我我发癫了说些不好的话他们就会取关我。 在这种场景下就很使用观察者模式粉丝们关注我根据我的状态而动态地做出反应。 观察者的接口 public interface MyObserver {void execute(String upName); }观察者对象 public class fans implements MyObserver {private String name;public fans(String name){this.name name;}// 根据msg动态地执行方法Overridepublic void execute(String msg) {if(更新了.equals(msg)){System.out.println(this.name点赞了你);}if(发癫了.equals(msg)){System.out.println(this.name举报了你);}} }被观察者接口 public interface SupObject {// 将粉丝增加在通知列表void add(MyObserver myObserver);// 将粉丝删除出通知列表void delete(MyObserver myObserver);// 通知void notify(String upName); } 被观察者对象 public class up implements SupObject{ListMyObserver notifyList new ArrayList();Overridepublic void add(MyObserver myObserver) {notifyList.add(myObserver);}Overridepublic void delete(MyObserver myObserver) {notifyList.remove(myObserver);}Overridepublic void notify(String msg) {notifyList.forEach(t- t.execute(msg));} }执行器 public class client {public static void main(String[] args) {fans fans1 new fans(小约翰可汗);fans fans2 new fans(CSGO玩机器);fans fans3 new fans(徐云流浪中国);up up new up();up.add(fans1);up.add(fans2);up.add(fans3);up.notify(更新了);} } 效果 观察者模式的优缺点 优点 解除耦合让耦合的双方都依赖于抽象从而使得各自的变换都不会影响另一边的变换。 缺点 在应用观察者模式时需要考虑一下开发效率和运行效率的问题程序中包括一个被观察者、多个观察者开发、调试等内容会比较复杂而且在Java中消息的通知一般是顺序执行那么一个观察者卡顿会影响整体的执行效率在这种情况下一般会采用异步实现。 观察者模式和发布订阅模式的不同 通过上面的代码可能回产生这样的疑问 这不是“被观察者”主动发送消息给“观察者”的吗这么叫做观察者模式呢主被动关系是不是搞反了 其实观察者模式也叫做发布订阅模式。 比如《heah in first》中就曾这么写 Publishers Subscribers Observer Pattern 但是他们还是有差别的 在发布订阅模式里发布者并不会直接通知订阅者换句话说发布者和订阅者彼此互不相识。 但在观察者模式中观察者与被观察者是直接通信的。 这就是他们的差别 观察者模式主打一个松耦合但是他们还是耦合的。 但是发布订阅模式完完全全的松开了
http://www.dnsts.com.cn/news/82118.html

相关文章:

  • 手机怎么制作网站wordpress woocommerce主题
  • 谁做网站做的比较可信百度收录wordpress
  • 苏州 中英文网站建设网站制作如何做
  • 织梦城市门户网站模板wordpress播放swf插件
  • 阿里云做的网站程序移动互联网规模数据分析
  • e语言可以做网站吗互助网站开发
  • 广州外贸网站建设公司湖南网站推广哪家专业
  • 电子商业网站建设步骤两学一做知识竞赛试题网站
  • 章丘营销型网站建设网站在哪备案
  • 优化网站排名茂名厂商企业信息填报年报填写
  • 深圳苏州企业网站建设服务商网站建设周期计划
  • 哪些网站做物流推广好未明潮网站建设保密协议
  • Ul设计网站网络推广公司经营范围
  • 浦东建设网站花店网站模板免费下载
  • 大连专业模板网站制作网站挂载
  • 济南网站建设哪里便宜wordpress图片批量设置
  • 网站做短链统计优缺点京东网站建设缺点
  • 网站建设需求计划书怎样讲卖灯的网站做的好处
  • 百度wap网站建设网站建设怎样设置动态背景
  • 东莞樟木头做网站哪家好一年的百度指数
  • 织梦响应式网站模板公司管理系统下载
  • 空气炸锅做糕点的网站好看的主页背景图片
  • 免费网站空间怎么动漫制作
  • 网站后台忘了网站策划教程
  • 企业网站设计的基本内容包括哪些网站WordPress站点
  • wordpress 页面特效南阳网站优化公司
  • 沈阳网站建设本地化技术服务seo沈阳
  • 长沙建设银行招聘网站微网站用什么软件做
  • 如何加快网站收录网站开发行业前景
  • 钦州市建设网站做机械比较好的外贸网站