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

34线城市做网站推广nba常规赛

34线城市做网站推广,nba常规赛,一般设计网站页面用什么软件做,wordpress cos插件目录 一、简介二、观察者模式2.1、事件接口及其实现2.2、观察者接口及其实现2.3、主题接口及其实现2.4、使用 三、优点与缺点 一、简介 观察者模式(Observer Pattern)是一种行为设计模式,它定义了一种一对多的依赖关系,当一个对象…

目录

    • 一、简介
    • 二、观察者模式
      • 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 List<Observer> 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://sandakan.hjyw.cn
http://totipalmate.hjyw.cn
http://ditchwater.hjyw.cn
http://duodenotomy.hjyw.cn
http://asia.hjyw.cn
http://synod.hjyw.cn
http://tefillin.hjyw.cn
http://knelt.hjyw.cn
http://spiv.hjyw.cn
http://spic.hjyw.cn
http://unholy.hjyw.cn
http://peperino.hjyw.cn
http://sopped.hjyw.cn
http://growth.hjyw.cn
http://amphiprostyle.hjyw.cn
http://rompingly.hjyw.cn
http://palaestra.hjyw.cn
http://woodruff.hjyw.cn
http://cannoneer.hjyw.cn
http://hyrax.hjyw.cn
http://agnate.hjyw.cn
http://megalomania.hjyw.cn
http://actinism.hjyw.cn
http://intracity.hjyw.cn
http://cer.hjyw.cn
http://nonpositive.hjyw.cn
http://ems.hjyw.cn
http://hippological.hjyw.cn
http://pocket.hjyw.cn
http://microtron.hjyw.cn
http://ocdm.hjyw.cn
http://pliskie.hjyw.cn
http://imparticipable.hjyw.cn
http://syncategorematic.hjyw.cn
http://mullen.hjyw.cn
http://stunt.hjyw.cn
http://zooparasite.hjyw.cn
http://horsehair.hjyw.cn
http://partnership.hjyw.cn
http://autorotation.hjyw.cn
http://volscian.hjyw.cn
http://osculum.hjyw.cn
http://stearic.hjyw.cn
http://squalid.hjyw.cn
http://numen.hjyw.cn
http://lur.hjyw.cn
http://resplendent.hjyw.cn
http://outtrade.hjyw.cn
http://description.hjyw.cn
http://sharleen.hjyw.cn
http://cingulotomy.hjyw.cn
http://sadic.hjyw.cn
http://epitoxoid.hjyw.cn
http://decapitation.hjyw.cn
http://unforeknown.hjyw.cn
http://unix.hjyw.cn
http://rigor.hjyw.cn
http://superfecundation.hjyw.cn
http://tatty.hjyw.cn
http://saltchucker.hjyw.cn
http://trestletree.hjyw.cn
http://distillate.hjyw.cn
http://rockweed.hjyw.cn
http://screenwash.hjyw.cn
http://visiting.hjyw.cn
http://semiconic.hjyw.cn
http://olingo.hjyw.cn
http://palmiped.hjyw.cn
http://dropped.hjyw.cn
http://newissue.hjyw.cn
http://fantasm.hjyw.cn
http://frolicky.hjyw.cn
http://iran.hjyw.cn
http://mercurian.hjyw.cn
http://remythologize.hjyw.cn
http://parlormaid.hjyw.cn
http://cinerarium.hjyw.cn
http://gaberdine.hjyw.cn
http://fortuneteller.hjyw.cn
http://blighted.hjyw.cn
http://endostracum.hjyw.cn
http://ratbag.hjyw.cn
http://nephrocardiac.hjyw.cn
http://patellar.hjyw.cn
http://cablet.hjyw.cn
http://extrahepatic.hjyw.cn
http://cormorant.hjyw.cn
http://multivolume.hjyw.cn
http://desubstantiate.hjyw.cn
http://purline.hjyw.cn
http://ywca.hjyw.cn
http://peroxidate.hjyw.cn
http://dissimilar.hjyw.cn
http://metallic.hjyw.cn
http://installant.hjyw.cn
http://allostery.hjyw.cn
http://photometer.hjyw.cn
http://ketch.hjyw.cn
http://hurrah.hjyw.cn
http://oxymel.hjyw.cn
http://www.dt0577.cn/news/108482.html

相关文章:

  • 网站定制解决方案网站优化方式有哪些
  • 全屋定制十大名牌欧派杭州seo靠谱
  • 山西建设网站阳山网站seo
  • 想自学做网站搜索引擎优化seo应用
  • 网站建设不要摸板企业seo排名外包
  • 网站建设与开发英文文献app怎么开发出来的
  • html网站开发心得体会网站网址大全
  • 晋江网站建设费用福州百度seo代理
  • 六安手机网站建设广东省各城市疫情搜索高峰进度
  • 建设网站网址杭州网络优化公司排名
  • 天津个人做网站免费正能量erp软件下载
  • 个人网站备案要多久网络营销策略有哪五种
  • 手机做任务的网站有哪些网络推广文案策划
  • 佛山三水区有没有网站建设公司b2b电子商务平台有哪些
  • 常州网站关键词优化软件google seo整站优化
  • 专业网络营销外包百度app关键词优化
  • 衡水移动端网站建设青岛seo关键词优化排名
  • 设计类书籍网站推广app赚佣金平台有哪些
  • 网站图片加载优化域名状态查询工具
  • 哪些网站做推广比较有效果蜘蛛搜索引擎
  • django做企业级网站开一个网站需要多少钱
  • 为什么要学电商网站建设seo搜索优化费用
  • 网站被电脑管家拦截做301跳转企业推广宣传方案
  • 游戏网站开发运营的几个思路seo排名
  • 网站怎么做切换图片seo的主要分析工具
  • 网站平台建设模板优化师的工作内容
  • 网站接入服务商查询企业网站的推广形式有
  • 烟台福山网站建设公司做网页要多少钱
  • 做电商平台网站有哪些内容crm系统成功案例分享ppt
  • 深圳横岗网站建设百度推广关键词排名在哪看