精华内容
下载资源
问答
  • 黑板模式
    2020-09-14 10:16:52

    意图

    黑板模式是观察者模式的一个扩展,知名度并不高,但是我们使用的范围却非常广。黑板模式的意图如下:

    允许消息的读写同时进行,广泛的交互消息。

    简单的说,黑板模式允许多个消息读写者同时存在,消息的生产者和消费者完全分开。这就像一个黑板,任何一个教授(消息的生产者)都可以在其上书写消息,任何一个学生(消息的消费者)都可以从黑板上读取消息,两者在空间和时间上可以解耦,并且互不干扰。

    黑板模式确实是消息的广播,主要解决的问题是消息的生产者和消费者之间的耦合问题,他的核心是消息存储(黑板),他存储所有消息,并可以随时被读取。当消息生产者把消息写入到消息仓库后,其他消息者就可以从仓库中读取。当然,此时消息的写入者也可以变身为消息的阅读者,读写者在时间上解耦。对于这些消息,消费者只需要关注特定消息,不处理与自己不相关的消息,这一点通常通过过滤器来实现。

    实现方法

    黑板模式一般不会对架构产生什么影响,但他通常会要求有一个清晰的消息结构。黑板模式一般都会提供一系列的过滤器,以便消息的消费者不再接触到与自己无关的消息。在实际开发中,黑板模式常见的有两种实现方式。

    • 数据库作为黑板

    利用数据库充当黑板,生产者更新数据信息,不同的消费者共享数据库中信息,这是最常用的实现方式。该方式在技术上容易实现,开发量较少,熟悉度较高。缺点是在大量消息和高频率访问的情况下,性能会受到一定影响。

    在该模式下,消息的读取是通过消费者主动“拉取”,因此该模式也叫做“拉模式”。

    • 消息队列作为黑板

    以消息队列作为黑板,通过订阅-发布模式即可实现黑板模式。这也是黑板模式被淡忘的一个重要原因:消息队列已经非常普及了。

    在该模式下,消费者接收到的消息是被主动推送出来的,因此该模式也称为“推模式”。

    更多相关内容
  • 黑板模式 黑板模式(Blackboard Design Pattern)是观察者模式的一个扩展:允许消息的读写同时进行,广泛地交互消息。 黑板模式允许多个消息读写者同时存在,消息的生产者和消费者完全分开,两者在空间和时间上...

    黑板模式

    黑板模式(Blackboard Design Pattern)是观察者模式的一个扩展允许消息的读写同时进行,广泛地交互消息。

    黑板模式允许多个消息读写者同时存在,消息的生产者和消费者完全分开,两者在空间和时间上可以解耦,并且互不干扰。

    黑板模式是消息的广播,主要解决消息的生产者和消费者之间的耦合问题,核心是消息存储(黑板),它存储所有消息,并可以随时被读取。当然,消息的写入者也可以变身为消息的阅读者,读写者在时间上解耦。对于这些消息,消费者只需要关注特定消息,不处理与自己不相关的消息,这一点通常通过过滤器来实现。


    黑板模式的实现方式

    黑板模式常见的有两种实现方式:数据库作为黑板消息队列作为黑板

    (1)数据库作为黑板

    利用数据库充当黑板,生产者更新数据信息,不同的消费者共享数据库中信息,这是最常见的实现方式。该方式在技术上容易实现,开发量较少,熟悉度较高。缺点是在大量消息和高频率访问的情况下,性能会受到一定影响

    在该模式下,消息的读取是通过消费者主动“拉取”,因此该模式也叫做“拉模式”。

    (2)消息队列作为黑板

    以消息队列作为黑板,通过订阅-发布模型即可实现黑板模式。这也是黑板模式被淡忘的一个重要原因:消息队列(Message Queue)已经非常普及了,所有大多人只记得消息队列不记得黑板模式。在该模式下,消费者接收到的消息是被主动推送过来的,因此该模式也称为“推模式”。

    展开全文
  • 架构模式之黑板模式

    2019-06-19 21:37:00
    黑板模式是一种常用的架构模式,应用中的多种不同数据处理逻辑相互影响和协同来完成数据分析处理。黑板模式允许多个消息读写者同时存在,消息的生产者和消费者完全分开。这就像一个黑板,任何一个教授(消息的生产者...

    一、定义

    黑板模式是一种常用的架构模式,应用中的多种不同数据处理逻辑相互影响和协同来完成数据分析处理。黑板模式允许多个消息读写者同时存在,消息的生产者和消费者完全分开。这就像一个黑板,任何一个教授(消息的生产者)都可以在其上书写消息,任何一个学生(消息的消费者)都可以从黑板上读取消息,两者在空间和时间上可以解耦,并且互不干扰。这种模式对于没有确定解决方案策略的问题是有用的。

    二、模式组成

    黑板模式由3个主要组成部分组成。

    (1)知识源:包含独立的、与应用程序相关的知识,知识源之间不直接进行通讯,它们之间的交互只通过黑板来完成。

    (2)黑板数据结构:按照与应用程序相关的层次来组织并解决问题的数据,知识源通过不断地改变黑板数据来解决问题。

    (3)控制组件;完全由黑板的状态驱动,黑板状态的改变决定了需要使用的特定知识。

    黑板模式一般不会对架构产生什么影响,但它通常会要求有一个清晰的消息结构。黑板模式一般都会提供一系列的过滤器,以便消息的消费者不再接触到与自己无关的消息。在实际开发中,黑板模式常见的有两种实现方式:

    (一)数据库作为黑板

    利用数据库充当黑板,生产者更新数据信息,不同的消费者共享数据库中信息,这是最常见的实现方式。该方式在技术上容易实现,开发量较少,熟悉度较高。缺点是在大量消息和高频率访问的情况下,性能会受到一定影响。在该模式下,消息的读取是通过消费者主动“拉取”,因此该模式也叫做“拉模式”。

    (二)以语音识别为例:

    语音识别黑板里边就是语言包 ;语言包就是知识源,控制机构就是管理语言包的,当你说一句话,不知道是什么语言,所以时非确定性的问题,控制机构把你说的话对应的语言包给你看,这就是黑板模式的流程

    所有的组件都可以访问黑板。组件可以生成添加到黑板上的新数据对象。组件在黑板上查找特定类型的数据,并通过与现有知识源的模式匹配来查找这些数据。

    三、模式实现

    (一)利用数据库

    利用数据库充当黑板,不同的应用共享数据库中信息,并且可以更新数据信息。这也是最常见的实现方式。

    (二)利用发布—订阅模式

    这种实现方式通常采用消息队列作为黑板,队列工作在主题模式(Topic),专家作为队列的订阅者,同时可以向队列发送消息,消息会被发送至所有订阅者。以上过程实现了专家间的信息交流。

    四、影响黑板系统的因素

    影响黑板系统设计的最大因素是引用问题本身的特性,但是支撑应用程序的黑板体系结构有许多相似的特征和构件。对于特定应用问题,黑板系统可通过选取各种黑板、知识源和控制模块的构件来设计;也可以利用预先制定的黑板体系结构的编程环境。

    五、应用实例

    黑板系统的典型应用是信号处理领域,如网络信息检索、电子商务、自动控制、商业管理智能决策、语音和模式识别、智能控制领域等

    实际应用

    在实际应用中常见的实现模式有:

    A 利用数据库

    利用数据库充当黑板,不同的应用共享数据库中信息,并且可以更新数据信息。这也是最常见的实现方式。

    特点:

    1 便于实现信息的查询,筛选和统计,这方面关系数据库提供了SQL 92的强大支持。

    2 不能用于较高实时性要求的环境,这种实现是工作在“拉模式”下的,并且高频率的访问数据库会导致严重的系统性能问题。

    B 利用发布—订阅模式

    这种实现方式通常采用消息队列作为黑板,队列工作在主题模式(Topic),专家作为队列的订阅者,同时可以向队列发送消息,消息会被发送至所有订阅者。以上过程实现了专家间的信息交流。

    特点:

    1、可以有效应用于实时性要求较高的系统,这种实现工作在“推模式”下。

    2、难于实现信息的统计分析,不像实现方式一那样可以通过SQL支持,这些工作必须开发者自己完成。

    六、优缺点分析

    优点:可用于非确定性问题求解,启发式解决过程,可维护性,可重用

    缺点:不能确保期望结果,效率低下,回退,不支持并行,共享空间的访问需要同步

     

    转载于:https://www.cnblogs.com/somedayLi/p/11055123.html

    展开全文
  • 黑板模式(Blackboard Design Pattern)。

    千次阅读 2018-10-11 11:49:12
    黑板模式是观察者模式的一个扩展,知名度并不高,但是我们使用的范围却非常广。黑板模式的意图如下: 允许消息的读写同时进行,广泛的交互消息。 简单的说,黑板模式允许多个消息读写者同时存在,消息的生产者和...

    意图

    黑板模式是观察者模式的一个扩展,知名度并不高,但是我们使用的范围却非常广。黑板模式的意图如下:

    允许消息的读写同时进行,广泛的交互消息。

    简单的说,黑板模式允许多个消息读写者同时存在,消息的生产者和消费者完全分开。这就像一个黑板,任何一个教授(消息的生产者)都可以在其上书写消息,任何一个学生(消息的消费者)都可以从黑板上读取消息,两者在空间和时间上可以解耦,并且互不干扰。

    黑板模式确实是消息的广播,主要解决的问题是消息的生产者和消费者之间的耦合问题,他的核心是消息存储(黑板),他存储所有消息,并可以随时被读取。当消息生产者把消息写入到消息仓库后,其他消息者就可以从仓库中读取。当然,此时消息的写入者也可以变身为消息的阅读者,读写者在时间上解耦。对于这些消息,消费者只需要关注特定消息,不处理与自己不相关的消息,这一点通常通过过滤器来实现。

    实现方法

    黑板模式一般不会对架构产生什么影响,但他通常会要求有一个清晰的消息结构。黑板模式一般都会提供一系列的过滤器,以便消息的消费者不再接触到与自己无关的消息。在实际开发中,黑板模式常见的有两种实现方式。

    • 数据库作为黑板

    利用数据库充当黑板,生产者更新数据信息,不同的消费者共享数据库中信息,这是最常用的实现方式。该方式在技术上容易实现,开发量较少,熟悉度较高。缺点是在大量消息和高频率访问的情况下,性能会受到一定影响。

    在该模式下,消息的读取是通过消费者主动“拉取”,因此该模式也叫做“拉模式”。

    • 消息队列作为黑板

    以消息队列作为黑板,通过订阅-发布模式即可实现黑板模式。这也是黑板模式被淡忘的一个重要原因:消息队列已经非常普及了。

    在该模式下,消费者接收到的消息是被主动推送出来的,因此该模式也称为“推模式”。

    展开全文
  • 软件架构_黑板模式

    2018-05-22 09:03:00
    黑板模式是一种常用的架构模式,是观察者模式的一个扩展,应用中的多种不同数据处理逻辑相互影响和协同来完成数据分析处理。允许消息的读写同时进行,广泛地交互消息。就好像多位不同的专家在同一黑板上交流思想,每...
  • 设计模式之黑板模式

    2019-05-14 22:40:06
    黑板模式的意图 黑板模式是观察者模式的一个扩展,知名度并不高,但使用的范围却非常广. 其意图为: 允许消息的读写同时进行, 广泛的交互消息. 简单的说, 黑板模式允许多个消息读写者同时存在, 消息的生产者和消费者...
  • 黑板模式(二十九)

    千次阅读 2018-06-28 08:24:48
    一、定义 黑板模式(BlackboardDesignPattern)是观察者模式的一个扩展,知名度并不高,但是我们使用的范围却非常广。黑板模式的意图如下: 允许消息的读写同时进行,广泛地交互消息。 简单地说,黑板模式允许多...
  • 设计模式 - 黑板模式

    2018-02-09 11:07:00
    黑板模式的意图 黑板模式(Blackboard Design Pattern)是观察者模式的一个扩展,知名度并不高,但是我们使用的范围却非常广。黑板模式的意图如下: 允许消息的读写同时进行,广泛地交互消息。 简单地说,黑板...
  • 黑板模式(张保海)

    2018-05-27 17:23:00
    黑板模式 简介: 黑板模式是一种常用的架构模式,应用中的多种不同数据处理逻辑相互影响和协同来完成数据分析处理。黑板模式允许多个消息读写者同时存在,消息的生产者和消费者完全分开。这就像一个黑板,任何一个...
  • 黑板模式(Blackboard Design Pattern)是观察者模式的一个扩展,知名度并不高,但是我们使用的范围却非常广。黑板模式的意图如下: 允许消息的读写同时进行,广泛地交互消息 看到这个图大家可能会说:这不是...
  • 仓库风格 黑板风格

    2017-11-17 21:54:21
    软件体系结构 仓库风格和黑板风格
  • 软件架构之黑板模式

    2019-10-05 20:56:53
    黑板模式 定义:黑板模式是一种常用的架构模式,应用中的多种不同数据处理逻辑相互影响和协同来完成数据分析处理。就好像多位不同的专家在同一黑板上交流思想,每个专家都可以获得别的专家写在黑板上的信息,同时也...
  • 目录 黑板(Blackboard) 定义 好处 缺点 额外功能 一个游戏使用黑板模式的例子 其他使用黑板模式的例子 小结 黑板模式的C++简易实现 黑板模式的C#实现 参考 ...
  • 黑板模式分析

    2019-10-05 20:41:14
    黑板模式是一种常用的架构模式,应用中的多种不同数据处理逻辑相互影响和协同来完成数据分析处理。就好像多位不同的专家在同一黑板上交流思想,每个专家都可以获得别的专家写在黑板上的信息,同时也可以用自己的分析...
  • 1、设置-语言格式设置-选择主体:Black board(黑板)--就可以变换成好看的黑板模式了!
  • 有时候对于对象来说。在一个软件中,不直接通过互相引用而做到共享信息是非常有用的。...叫做创建一个“BlackBoard”(黑板)对象。该对象允许其他对象自由对其进行读取/写入数据。这种解耦方式使得消费者...
  • 黑板模式是一种常用的架构模式,应用中的多种不同数据处理逻辑相互影响和协同来完成数据分析处理。就好像多位不同的专家在同一黑板上交流思想,每个专家都可以获得别的专家写在黑板上的信息,同时也可以用自己的...
  • 黑板模式 - 此模式对于尚无确定性解决方案的问题很有用,黑板模式由三部分组成: 黑板—— 一个结构化的全局内存,包含解决方案领域的对象 知识源——具有自身含义的专业模块 控制组件——选择、配置和执行模块...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,794
精华内容 5,117
关键字:

黑板模式