web观察者模式的实现效果有哪些
这篇“web观察者模式的实现效果有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“web观察者模式的实现效果有哪些”文章吧。
创新互联长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为延寿企业提供专业的成都网站设计、成都网站建设,延寿网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
效果
实现面向不特定类型对象的通知
一般来讲通知也是一种调用,也就是说,当目标通知观察者的时候,通常的做法需要目标类了解观察者类的信息。观察者模式定义了观察者抽象接口,只要具体的观察者实现了观察者接口就可以加入到观察者队列中并接收目标的通知。也就是说作为通知者的目标类不需要了解具象观察者类的细节,从而实现了解耦。
实现面向不特定多数对象的通知
观察者对象都被登录到目标类的观察者列表中,目标类发出通知方法只是简单的依次调用列表中观察者对象的通知接口。无论这个列表中的观察者对象是多还是少,通知的方式都完全相同。观察者模式就是通过这种方式实现了面向不特定多数观察者的通知。
实现
拉模型还是推模型
所谓拉模型就是目标对象仅通知观察者有变化这件事,而详细内容由观察者自己从目标对象处取得;而推模型则是将变化的内容,尽量详细地随通知一起发送。拉模型扩展灵活,但效率偏低;而推模型效率虽高,但灵活性不足。两种方法各有利弊,需要根据实际情况进行取舍。作为一个折中的方案,在通知的时候同时带上变化的对象和变化的类型,很多时候都会是一个足够好的选择。
避免无效引用
观察者模式中的观察者接收通知的前提条件就是在目标对象中进行登录。当观察者不再需要接收目标对象的通知时就需要及时地取消登录。这一点一般不会发生严重的问题。初学者经常容易发生的问题是,当观察者对象被销毁时有可能会遗漏取消登录这件事,其结果就是通知时访问无效对象。另一种情况是,当观察者保持着目标对象的参照时,如果目标对象在观察者之前被销毁,也同样可能出现访问无效对象的情况。但是无论哪种问题,只要认真设计、保持良好的退出机制应该都不难解决。
以上就是关于“web观察者模式的实现效果有哪些”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。
网站标题:web观察者模式的实现效果有哪些
网页URL:http://scjbc.cn/article/jhjdpe.html