大佬教程收集整理的这篇文章主要介绍了设计模式之黑板模式,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
黑板模式是观察者模式的一个扩展,知名度并不高,但使用的范围却非常广. 其意图为: 允许消息的读写同时进行,广泛的交互消息.
简单的说,黑板模式允许多个消息读写者同时存在,消息的生产者和消费者完全分开. 这就像一个黑板,任何一个老师(消息的生产者)都可以在上面书写消息,任何一个学生(消息的消费者)都可以从黑板上读取消息,两者在空间和时间上可以解耦,互不干扰.
示意图如下:
title="设计模式之黑板模式" alt="设计模式之黑板模式" src="https://cn.js-code.com/res/2019/01-10/21/697e1a266dc1fc173a4ecbf705e09951.jpg" >
黑板模式就是消息的广播,主要解决的问题是消息的生产者和消费者之间的耦合问题,它的核心是消息存储(黑板),它存储所有消息,并可以随时被读取. 当消息生产者将消息写入到消息仓库后,其他消费者就可以从仓库中读取. 当然,此时消息的写入这也可以变身为消息的消费者,读写者在时间上是解耦的. 对于这些消息,消费者只需要关注特定消息,不处理与自己不相关的消息,这一点通常通过过滤器来实现.
黑板模式一般不会对架构产生什么影响,但它通常会要求有一个清晰的消息结构. 黑板模式一般都会提供一系列的过滤器,以便消息的消费者不再接触到与自己无关的消息.在实际开发中,黑板模式常见的有两种实现方式:
以上是大佬教程为你收集整理的设计模式之黑板模式全部内容,希望文章能够帮你解决设计模式之黑板模式所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。