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

濮阳网站建设陈帅wordpress 调用用户头像

濮阳网站建设陈帅,wordpress 调用用户头像,重庆做网站建设公司哪家好,金华网站建设方案开发目录 一、简介二、观察者模式2.1、事件接口及其实现2.2、观察者接口及其实现2.3、主题接口及其实现2.4、使用 三、优点与缺点 一、简介 观察者模式#xff08;Observer Pattern#xff09;是一种行为设计模式#xff0c;它定义了一种一对多的依赖关系#xff0c;当一个对象… 目录 一、简介二、观察者模式2.1、事件接口及其实现2.2、观察者接口及其实现2.3、主题接口及其实现2.4、使用 三、优点与缺点 一、简介 观察者模式Observer Pattern是一种行为设计模式它定义了一种一对多的依赖关系当一个对象的状态发生变化时其所有依赖者观察者都会自动收到通知并进行更新。 在观察者模式中存在两类角色 主题Subject 也称为被观察者或可观察对象维护了一组观察者对象并提供了添加、删除和通知观察者的方法。观察者Observer 也称为订阅者定义了一个更新接口或抽象类用于接收主题的通知并进行相应的处理。 主题维护了一个观察者列表当其内部状态发生变化时会通知所有注册的观察者对象使它们能够根据主题状态的变化进行相应的更新或处理。 观察者模式将主题和观察者解耦使得主题和观察者之间的依赖关系变得松散同时也提高了系统的灵活性和可扩展性。这种模式常用于订阅/发布系统、事件驱动系统以及需要一对多依赖关系的场景中。 二、观察者模式 下面是一个稍微复杂一些的观察者模式的示例多个不同的观察者监听某个事件并根据事件执行不同的操作发送短信、发送邮件等 2.1、事件接口及其实现 // 事件接口 public interface Event {String getEventData(); }// 具体事件类 public class ConcreteEvent implements Event {private String eventData;public ConcreteEvent(String data) {this.eventData data;}Overridepublic String getEventData() {return eventData;} }2.2、观察者接口及其实现 // 观察者接口 public interface Observer {void update(Event event); }// 具体观察者 -- 邮件 public class EmailObserver implements Observer {Overridepublic void update(Event event) {System.out.println(发送邮件: event.getEventData());} }// 具体观察者 -- 短信 public class SMSObserver implements Observer {Overridepublic void update(Event event) {System.out.println(发送短信: event.getEventData());} }2.3、主题接口及其实现 // 主题接口 public interface Subject {void attach(Observer observer);void detach(Observer observer);void notifyObservers(Event event); }import java.util.ArrayList; import java.util.List;// 具体主题 public class ConcreteSubject implements Subject {private ListObserver observers new ArrayList();Overridepublic void attach(Observer observer) {observers.add(observer);}Overridepublic void detach(Observer observer) {observers.remove(observer);}Overridepublic void notifyObservers(Event event) {for (Observer observer : observers) {observer.update(event);}} }2.4、使用 public class ObserverPatternExample {public static void main(String[] args) {ConcreteSubject subject new ConcreteSubject();Observer smsObserver new SMSObserver();Observer emailObserver new EmailObserver();subject.attach(smsObserver);subject.attach(emailObserver);Event event new ConcreteEvent(你正在登录账户查看Alian的博客);subject.notifyObservers(event);} }运行结果 发送短信: 你正在登录账户查看Alian的博客 发送邮件: 你正在登录账户查看Alian的博客三、优点与缺点 观察者模式具有以下优点和缺点 优点 解耦和灵活性 主题和观察者之间的关系是松散耦合的主题无需知道观察者的细节使得系统更加灵活能够方便地扩展和维护。一对多的依赖关系 允许一个主题对象同时与多个观察者对象建立联系当主题状态发生变化时所有依赖于它的观察者都会得到通知。支持广播通信 观察者模式支持广播通信机制主题对象发出的通知会被所有相关的观察者接收。 缺点 可能导致系统性能下降 如果观察者过多或者操作复杂通知所有观察者可能会影响性能。可能导致循环依赖 观察者和主题之间的循环依赖可能会导致系统问题需要小心设计以避免这种情况。可能引起内存泄漏 如果观察者对象未被正确地移除可能会导致内存泄漏问题。 总的来说观察者模式是一种灵活、解耦的设计模式能够实现对象间的一对多依赖关系。然而在使用时需注意控制观察者数量、避免循环依赖和及时移除不需要的观察者以确保系统的性能和稳定性。这个模式应用很广泛比如springboot源码的事件发布机制。
http://www.pierceye.com/news/979062/

相关文章:

  • 旅游自媒体网站怎么做个人创业做网站
  • 语音识别程序代做网站网站运营策略如何做
  • 怎么做淘宝网站赚钱吗wordpress个性用户
  • 通州郑州阳网站建设wordpress发表的文章在页面找不到
  • 网上订货发货网站建设3d建模用什么软件
  • 广州房地产网站建设方案推广你公司网站
  • 较好的网站建设公司网站备案填了虚假座机能过吗
  • 网站权重是怎么提升的node怎么做网站
  • 珠海哪家做企业网站公司好网站开发常用图标 图像
  • 上海先进网站设计丹阳如何做百度的网站
  • dw免费网站模板下载ui设计培训课程
  • 襄城县城乡建设管理局网站网站推广要具备什么
  • 用vue做网站的实例wordpress redis缓存
  • dedecms模板站源码wordpress上传主题错误
  • 网站需求方案手机网站加载效果
  • 国外空间网站源码网站电子备案
  • 最好网站建设公司运营团队南山医院网站建设
  • 微小店网站建设官网杭州网站设计上市公司
  • 合肥装饰公司做的好的网站采购销售管理软件
  • wordpress做后端wordpress的seo优化
  • 学术会议网站怎么做教学工作总结
  • 可以在线做试卷的网站互联网营销与管理
  • 国际重大新闻湛江做网站优化
  • 做app的模板下载网站有哪些长春网上建设网站
  • 建网站多少钱 万户项目管理软件手机版
  • 福州做网站需要多少钱win10 安装wordpress
  • 网站建设大约需要多少钱软文推广平台排名
  • 开发公司 网站建设价格seo优化排名怎么做
  • 网站开发如何使用微信登录鞍山专业做网站公司
  • 电子商务网站建设设计报告关于网站建设的指标