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

制作网页的基本步骤记事本怎么seo网站推广

制作网页的基本步骤记事本,怎么seo网站推广,公司网站开发的国内外研究现状,河南做网站汉狮网络观察者模式#xff08;Observer Pattern#xff09;是一种行为型设计模式#xff0c;它定义了一种一对多的依赖关系#xff0c;使得当一个对象的状态发生变化时#xff0c;所有依赖于它的对象都会得到通知并自动更新。 在观察者模式中#xff0c;有两个核心角色#xf…观察者模式Observer Pattern是一种行为型设计模式它定义了一种一对多的依赖关系使得当一个对象的状态发生变化时所有依赖于它的对象都会得到通知并自动更新。 在观察者模式中有两个核心角色 Subject主题也称为被观察者或可观察对象它是具有状态的对象当其状态发生变化时会通知所有的观察者。 Observer观察者也称为订阅者或观察者它定义了一个接口用于接收主题的通知并进行相应的处理。 观察者模式的工作原理如下 主题维护一个观察者列表用于存储所有订阅该主题的观察者。 当主题的状态发生变化时会遍历观察者列表依次调用每个观察者的更新方法。 观察者收到通知后根据主题的状态进行相应的处理。 观察者模式的优点包括 解耦性主题和观察者之间是松耦合的它们可以独立地进行扩展和修改互不影响。 可扩展性可以方便地增加新的观察者以及在不修改主题代码的情况下增加新的主题。 易于维护由于主题和观察者之间的关系是明确的代码的维护和调试相对容易。 举个例子被观察者新闻观察者有“播放新闻”和“打印新闻”当有新的新闻产生时立刻播放和打印新闻。建议尽量面向抽象编程、接口编程 先定义观察者和被观察者的抽象类。 /*** 观察者抽象*/ public abstract class Observer {/*** 处理新闻内容* param msg*/public abstract void handle(String msg);/*** 观察者的身份* return*/public abstract String identity(); } /*** 被观察者抽象*/ public abstract class Subject {/*** 观察者列表*/public ListObserver observerList;/*** 加入观察者* param observer*/public abstract void register(Observer observer);/*** 剔除观察者* param observer*/public abstract void cancel(Observer observer);/*** 通知内容* param msg*/public abstract void notice(String msg); } 再定义新闻类继承了被观察者抽象类表示自己是某个具有实际业务含义的被观察者。 public class News extends Subject {public News() {this.observerList new ArrayList();}Overridepublic void register(Observer observer) {this.observerList.add(observer);}Overridepublic void cancel(Observer observer) {for (Observer ob : this.observerList) {if (ob.identity().equals(observer.identity())) {this.observerList.remove(ob);}}}Overridepublic void notice(String msg) {for (Observer ob : this.observerList) {ob.handle(msg);}} } 定义播放新闻类和打印新闻类表示具体的观察者。 public class PlayNews extends Observer {Logger logger LoggerFactory.getLogger(PlayNews.class);Overridepublic void handle(String msg) {logger.info(播放新闻:{}, msg);}Overridepublic String identity() {return play;} }public class PrintNews extends Observer {Logger logger LoggerFactory.getLogger(PrintNews.class);Overridepublic void handle(String msg) {logger.info(打印新闻:{}, msg);}Overridepublic String identity() {return print;} } 测试一下 public class Test {public static void main(String[] args) {News news new News();PlayNews playNews new PlayNews();PrintNews printNews new PrintNews();news.register(playNews);news.register(printNews);news.notice(油价微涨1元);news.cancel(playNews);news.notice(油价暴跌1分);} } 个人理解 1、观察者模式类似于发布-订阅需要被观察者发出信息让观察者去处理但是又与发布-订阅模式不同观察者与被观察者是直接联系互相有感知中间没有第三方角色存在而发布-订阅模式中发布者与订阅者之间有第三方角色存在比如kafka中生产者发送消息到 topic消费者从topic获取消息而不是生产者直接发消息给消费者更多地是体现发布者与订阅者之间的相互无感知解耦以及异步机制。 2、观察者模式的亮点在于它的“加入观察者”、“剔除观察者”思想适合那些观察者随时可变的场景否则就没什么特点可言了还不如策略模式。
http://www.dnsts.com.cn/news/229348.html

相关文章:

  • 一个人做网站要多久网站后台cms
  • 做爰网站下载地址在线做视频
  • 网站推广代理wordpress 关闭
  • 商务网站需求分析云南省建设执业注册管理中心网站
  • 网站推广引流软件专门做房产的网站
  • 灵芝住房和城乡建设局局网站品牌策划策略
  • 域名备案和网站备案区别网站建设可以自己弄吗知乎
  • 网站设计开发的销售主要工作石家庄网络公司名单
  • 做商业地产常用的网站网站建设费要摊销吗
  • 一站式进货平台网站建设网站的排版设计
  • 泉州做网站qzxiaolv揭阳企业网站建设公司
  • 深圳网站建设 外包合作wordpress滑动验证2016
  • 网站平台需要做无形资产吗 怎么做6网站报价系统
  • 公司网站招聘费如何做会计分录国际网站开发
  • 昆明企业网站建设公司小程序打包成app
  • 成都网站排名 生客seo怎么样那家专门做特卖的网站
  • 团建网站建设html5手机 网站
  • 工商局网站做年报东莞事件最新消息新闻
  • 赣州做网站找谁网站开发经理岗位职责
  • 铜川免费做网站公司微小店适合卖做分类网站吗
  • 郑州网络app优化推广
  • 网站建设岗位能力评估表淘宝网页版登录电脑版
  • 自己动手建设网站过程欧美教育网站模板
  • 做个营销型网站设计html5个性个人网站
  • 怎么网站后台wordpress后台框架推荐
  • 做网站经常用的字体有哪些电话销售网站建设话术
  • php网站开发优势建行网址
  • 石家庄外贸网站制作广州公司网站开发
  • 建设云官网泉州seo不到首页不扣费
  • 网站多域名怎么做网页设计代码全过程