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

网站建设计划书怎么写城乡建设部网站混凝土7天强度

网站建设计划书怎么写,城乡建设部网站混凝土7天强度,网站开发技术有哪些,wordpress自动发货如何设置观察者(Observer、Publish-Subscribe:Pub/Sub)模式属于行为型模式的一种。 观察者模式是一种一对多的通知机制,让发送通知的一方(被观察者)和接收通知的一方(观察者)能彼此分离&…

观察者(Observer、Publish-Subscribe:Pub/Sub)模式属于行为型模式的一种。

观察者模式是一种一对多的通知机制,让发送通知的一方(被观察者)和接收通知的一方(观察者)能彼此分离,互不影响。观察者模式的目的是要分离被观察者和观察者之间的耦合关系。

观察者模式的核心在于建立一种机制,使得当一个对象的状态变化时,所有依赖于它的对象(观察者)都能得到通知并作出相应的更新。

广义的观察者模式包括所有消息系统。消息系统,就是把观察者和被观察者完全分离,通过消息系统本身来进行通知。

在真实世界中,出版社是发布者,我们这些订阅了报纸或杂志的民众,是订阅者。出版社会在刊物出版后直接将最新一期寄送给我们,我们不用跑去出版社拿了。

Java标准库中的 java.util.Observer 类和 java.util.Observable 类,本来可以用来帮助我们实现观察者模式的。但是,这两个类在Java 9中已经被弃用了,弃用原因我就不描述了,大家可以搜一下。我们可以使用自定义的观察者模式,来满足更灵活的需求。

观察者模式通常有以下组成部分: 

  • 观察者接口:包含一个更新方法,用于接收主题的通知。
  • 具体观察者:实现观察者接口,定义接收到通知时的行为。
  • 主题接口:包含添加、删除和通知观察者的方法。
  • 具体主题:实现主题接口,管理观察者列表,并在状态改变时通知它们。

我们模拟一个简单的观察者模式。

1、观察者接口

// 观察者接口
public interface Observer {void update(String message);
}

2、具体观察者

// 具体观察者
public class ConcreteObserver implements Observer {private String name;public ConcreteObserver(String name) {this.name = name;}@Overridepublic void update(String message) {System.out.println(name + " received message: " + message);}
}

3、主题接口

// 主题接口
public interface Subject {void addObserver(Observer observer);void removeObserver(Observer observer);void notifyObservers(String message);
}

4、具体主题

// 具体主题
public class ConcreteSubject implements Subject {private List<Observer> observers = new ArrayList<>();@Overridepublic void addObserver(Observer observer) {observers.add(observer);}@Overridepublic void removeObserver(Observer observer) {observers.remove(observer);}@Overridepublic void notifyObservers(String message) {for (Observer observer : observers) {observer.update(message);}}
}

5、客户端

// 客户端代码
public class ObserverPatternDemo {public static void main(String[] args) {ConcreteSubject subject = new ConcreteSubject();Observer observer1 = new ConcreteObserver("Observer 1");Observer observer2 = new ConcreteObserver("Observer 2");subject.addObserver(observer1);subject.addObserver(observer2);subject.notifyObservers("Hello Observers!");}
}

观察者模式的优缺点

优点:

  • 降低耦合度:主题和观察者之间是抽象耦合的,彼此独立,易于维护和扩展。
  • 动态添加和删除观察者:可以在运行时动态地添加或删除观察者,灵活性高。

缺点:

  • 性能问题:如果观察者数量众多,通知过程可能耗时,影响性能。
  • 可能导致循环依赖:不当的设计可能导致观察者和主题之间的循环依赖,造成内存泄漏。

观察者模式是一种强大的设计模式,能够有效地解耦对象之间的关系,适用于需要在对象状态变化时通知多个依赖对象的场景。

怨天者无志,怨人者心穷。-- 烟沙九洲


文章转载自:

http://XQtBCPmA.stcds.cn
http://JnRdbOpi.stcds.cn
http://Da3roPbj.stcds.cn
http://UinvcWqJ.stcds.cn
http://Y9ugHDM4.stcds.cn
http://3BKGXAgq.stcds.cn
http://20UnnyLQ.stcds.cn
http://Pm547PCX.stcds.cn
http://ERUHlR2F.stcds.cn
http://jdPfrtEn.stcds.cn
http://79pvJDB7.stcds.cn
http://agxdbQ1V.stcds.cn
http://kGqbG2Gf.stcds.cn
http://AbIfBzMq.stcds.cn
http://vCcYrfli.stcds.cn
http://i2opKiAv.stcds.cn
http://bUGmhute.stcds.cn
http://oV33sLQN.stcds.cn
http://i8sL2Doy.stcds.cn
http://0KH8u0VP.stcds.cn
http://UTJxU9Pk.stcds.cn
http://tnzCrQBr.stcds.cn
http://3yQKIKg1.stcds.cn
http://JzHlNOSE.stcds.cn
http://goohYjmi.stcds.cn
http://iszor71o.stcds.cn
http://aYIbJWAk.stcds.cn
http://0UTJacLj.stcds.cn
http://8ctjNJqM.stcds.cn
http://G6zpV0O8.stcds.cn
http://www.dtcms.com/wzjs/778756.html

相关文章:

  • 社交类网站开发需求分析惠东做网站报价
  • 局域网网站开发只做动漫的h网站
  • 医院网站竹子建站免费版
  • 成都网站的优化腾讯云可以做网站
  • 江苏大丰做网站西安网站制作哪家便宜又好
  • 做网站推广怎么说广告词关键词排名查询工具免费
  • 福州营销型网站建设企业网站建设北京公司排名
  • p2p网站制作 杭州怎样做服务型网站
  • 可以注册的网站互联网公司排名前1000个
  • 域名解析后网站怎么建设软件开发全流程
  • 做电子商务网站公司wordpress淘客主题
  • 宁波专业网站营销社区门户网站建设
  • 淘宝客网站如何做黑wordpress网站
  • 公司网站维护与更新上海最大企业前十名
  • 怎样建立一个自己的网站免费要网站开发费用短信
  • 怀柔网站整站优化公司网站开发总结800字
  • 黄岩做网站公司电话软件开发工具case
  • 网站公司 北京内蒙古住房与城乡建设部网站
  • 事业网站网站建设方案西安高端网站定制
  • 红酒企业网站模板免费下载wordpress新闻列表如何制作
  • 阿里云做企业网站中国人在俄罗斯做网站需要多少卢布
  • 做网站怎么买断源码肇庆企业建站程序
  • 做淘宝还有必要做网站吗wordpress拖拽式建站主题
  • 龙岩网站建设运营网站页尾模板
  • 10个网站用户体验优化的研究结果哈尔滨微网站建设公司
  • 自建网站主题及策划一个空间可以做多少个网站
  • wordpress建站教程网南宁网络优化seo费用
  • 请人做网站设计的方案南联做网站
  • 成品网站 源码1688免费的商城网站
  • 深圳自助建站网站沈阳网红