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

宁夏城乡和住房建设厅网站网站推广seo方法

宁夏城乡和住房建设厅网站,网站推广seo方法,微信公众号 做不了微网站吗,定制衣柜多少钱一平方定义: 观察者模式又叫发布订阅模式,它定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 组成: Subject(通知者/被观察者)&#…

定义
观察者模式又叫发布订阅模式,它定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。

组成
Subject(通知者/被观察者):指代的就是那个被观察者,通常由接口或者抽象类实现,常见方法有addObserver/deleteObserver方法用来增删观察者,notifyObservers状态改变时通知观察者
ConcreteSubject (具体通知者/被观察者):这个就是具体的被观察者类,实现上面的Subject接口
Observer (观察者):就是观察Subject的观察者,是个接口,只有1个update()方法,被观察者改变时会被调用,也就是说它可以通过这个方法来获取到被观察者的状态更新
ConcreteObserver (具体观察者类):实现上面的Observer接口

适用场景
当一个对象状态发生改变,会导致其他对象都发生改变

例子

(Subject.java)
public interface Subject {void addObserver(Observer observer);void deleteObserver(Observer observer);void notifyObservers();void publicNews(String news);
}(ConcreteSubject.java)
public class ConcreteSubject implements Subject {private ArrayList<Observer> observers;private String news;public ConcreteSubject() {observers = new ArrayList<>();}@Overridepublic void addObserver(Observer observer) {observers.add(observer);}@Overridepublic void deleteObserver(Observer observer) {int i = observers.indexOf(observer);if (i >= 0) {observers.remove(i);}}@Overridepublic void notifyObservers() {for (Observer observer : observers) {observer.update(this, news);}}public void publicNews(String news) {this.news = news;notifyObservers();}
}(Observer.java)
public interface Observer {void update(Subject o, Object arg);
}(ConcreteObserver.java)
public class ConcreteObserver implements Observer{private Subject subject;public ConcreteObserver(Subject subject){this.subject = subject;this.subject.addObserver(this);}@Overridepublic void update(Subject o, Object arg) {System.out.println("收到的新闻: "+ arg);}
}(TestClient.java)
public class TestClient {public static void main(String[] args) {Subject subject = new ConcreteSubject();new ConcreteObserver(subject);subject.publicNews("今天我们的生活怎么样?");subject.publicNews("为什么有人骑在我们的脖子上?");}
}

以上代码是我们手动实现的观察者模式,其实观察者模式在jdk代码里也有非常多的应用,而且jdk内置了观察者模式的实现,详见java.util.Observable和java.util.Observer。以下是一些该模式的要点:

1、该模式定义了对象之间一对多的关系。
2、主题(被观察者)用一个共同的接口来更新观察者。
3、有多个观察者时,不可以依赖特定的通知顺序。
4、使用此模式时,你可以从被观察者处推(push)或拉(pull)数据,然后推的方式被认为是更合理的操作。
5、观察者和被观察者之间松耦合,被观察者不知道观察者的细节,只知道观察者实现了观察者接口。

http://www.khdw.cn/news/21895.html

相关文章:

  • 如何做网站运营武汉今日新闻头条
  • 怎么用sharepoint做网站百度推广获客成本大概多少
  • 域名一定要备案吗大丰seo排名
  • 齐河网站建设怎样在百度上免费做广告
  • 邯郸网站设计注册关键词优化
  • 沈阳网站建设成创百度小说排行榜风云榜单
  • 铜陵app网站做营销招聘seo项目优化案例分析文档
  • 廊坊网站建设seo的五个步骤
  • seo优化推广软件台州百度推广优化
  • 产品网站怎样做外部链接西安seo管理
  • seo排名策略关于seo的行业岗位有哪些
  • o2o网站建设多少钱杭州百家号优化
  • 阿里巴巴做国际网站多少钱能打开任何网站浏览器
  • 越秀营销型网站2024近期新闻
  • 平凉建设局官方网站百青藤广告联盟
  • 岳阳网站建设有哪些石家庄网络关键词排名
  • 打开网站是空白页面在线推广网站的方法
  • 做个网站大约多少钱google chrome谷歌浏览器
  • 怎么用微信做网站线上产品推广方案
  • 中国有名的网站建设公司长沙关键词优化新报价
  • 装修设计效果图免费软件长沙seo排名公司
  • 做外贸找客户最好用的网站对网站外部的搜索引擎优化
  • 男人女人做性关系网站你对网络营销的理解
  • 网站开发与建设会计分录爱站网影院
  • 游戏开发网站开发广州谷歌seo公司
  • 潍坊企业建站系统百度首页登录入口
  • 少儿类网站怎么做seo sem论坛
  • 北京市住房与城乡建设 委员会网站seo的内容有哪些
  • 莆田seo建站win7优化教程
  • 南宁网站建设排名qq群排名优化软件购买