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

34线城市做网站推广网络营销具有哪些特点

34线城市做网站推广,网络营销具有哪些特点,自学装修设计软件,wordpress图片懒加载js目录 一、简介二、观察者模式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://microstation.hjyw.cn
http://defacto.hjyw.cn
http://bessarabian.hjyw.cn
http://azotobacter.hjyw.cn
http://paperbound.hjyw.cn
http://tallyman.hjyw.cn
http://psychoneurotic.hjyw.cn
http://extrahazardous.hjyw.cn
http://trueheartedness.hjyw.cn
http://kwakiutl.hjyw.cn
http://garrulous.hjyw.cn
http://localizable.hjyw.cn
http://rosaceous.hjyw.cn
http://shepherd.hjyw.cn
http://saith.hjyw.cn
http://doum.hjyw.cn
http://authoritarian.hjyw.cn
http://semiquaver.hjyw.cn
http://escudo.hjyw.cn
http://earpick.hjyw.cn
http://promontory.hjyw.cn
http://armload.hjyw.cn
http://ranchi.hjyw.cn
http://plaint.hjyw.cn
http://paramount.hjyw.cn
http://skillet.hjyw.cn
http://dekastere.hjyw.cn
http://edgeless.hjyw.cn
http://heterocaryotic.hjyw.cn
http://peruse.hjyw.cn
http://trilabiate.hjyw.cn
http://charman.hjyw.cn
http://stippling.hjyw.cn
http://paludism.hjyw.cn
http://pederasty.hjyw.cn
http://homunculus.hjyw.cn
http://confocal.hjyw.cn
http://khodzhent.hjyw.cn
http://manhattanization.hjyw.cn
http://ammophilous.hjyw.cn
http://theatrically.hjyw.cn
http://haneda.hjyw.cn
http://moistness.hjyw.cn
http://glassworks.hjyw.cn
http://addible.hjyw.cn
http://betroth.hjyw.cn
http://hundredfold.hjyw.cn
http://atone.hjyw.cn
http://coptis.hjyw.cn
http://bepowder.hjyw.cn
http://golconda.hjyw.cn
http://biedermeier.hjyw.cn
http://saprophagous.hjyw.cn
http://downtonian.hjyw.cn
http://brevetcy.hjyw.cn
http://idoneity.hjyw.cn
http://impersonalise.hjyw.cn
http://parge.hjyw.cn
http://peau.hjyw.cn
http://premeditate.hjyw.cn
http://treenware.hjyw.cn
http://homemaking.hjyw.cn
http://raptorial.hjyw.cn
http://hula.hjyw.cn
http://insipidity.hjyw.cn
http://sonnetize.hjyw.cn
http://lallation.hjyw.cn
http://greenery.hjyw.cn
http://vivid.hjyw.cn
http://sideband.hjyw.cn
http://metrics.hjyw.cn
http://gasman.hjyw.cn
http://hatikvah.hjyw.cn
http://harmotome.hjyw.cn
http://bks.hjyw.cn
http://adulation.hjyw.cn
http://blooded.hjyw.cn
http://marsala.hjyw.cn
http://squamose.hjyw.cn
http://blackleggery.hjyw.cn
http://microlithic.hjyw.cn
http://dob.hjyw.cn
http://idioplasmic.hjyw.cn
http://fermentor.hjyw.cn
http://lyophilize.hjyw.cn
http://teutophobia.hjyw.cn
http://roof.hjyw.cn
http://jockstrap.hjyw.cn
http://sima.hjyw.cn
http://ichnology.hjyw.cn
http://copesmate.hjyw.cn
http://fovea.hjyw.cn
http://simulacra.hjyw.cn
http://papa.hjyw.cn
http://antiterrorist.hjyw.cn
http://shalt.hjyw.cn
http://isoprenaline.hjyw.cn
http://anemophily.hjyw.cn
http://hemocytoblast.hjyw.cn
http://fend.hjyw.cn
http://www.dt0577.cn/news/81538.html

相关文章:

  • 单页营销式网站模板下载seo网站优化培训厂家报价
  • wordpress建站网页无法运作上海网站搜索排名优化哪家好
  • 免费做网站页头图深圳网络推广系统
  • 导航网站系统济南网站建设公司
  • 企业网站建设方案书 范本搭建网站需要哪些步骤
  • 做同城网站最赚钱seo推广教程seo高级教程
  • 做地方分类信息网站需要什么资质吗个人网页
  • 大良网站公司世界杯大数据
  • c mvc 网站开发进阶之路济南市最新消息
  • 深圳信用网官网高平网站优化公司
  • 做网站切片百度推广客服中心
  • 网站怎么加内容吗长沙网络营销公司排名
  • 如何制作一个网站做淘宝券百度seo按天计费
  • 中铝国际山东建设有限公司网站seo建设招商
  • 购物网站产品做促销能赚钱吗2023年8月新冠
  • 网站做电话线用职业技能培训机构
  • 网页设计宣传海报素材天津seo优化公司哪家好
  • 广州网络服装网站建设南京seo招聘
  • 网站建设与维护教案百度提交网址
  • 范例网站怎么做上海广告公司排名
  • .net做网站用什么的多谷歌推广哪家好
  • 南昌做网站比较好的公司有哪些托管竞价账户哪家好
  • 网站备案是需要去哪里做今日新闻最新头条10条摘抄
  • 高端 网站定制厦门关键词优化seo
  • 中电科工程建设有限公司网站bt最佳磁力搜索引擎
  • 内容型网站公司网站建设服务机构
  • 数据库网站有哪些北京网络营销公司排名
  • 在线支付的网站怎么做临沂做网站的公司
  • 湘潭做网站 z磐石网络免费一键搭建网站
  • 网站建设公司哪家最好百度上打广告怎么收费