科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道为你的应用程序精心搭建一个基于事件的框架

为你的应用程序精心搭建一个基于事件的框架

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

框架最重要的作用是能够满足软件设计人员需求的灵活性和可扩展性,这些需求都源自于众多的商业规则。现在让我们来考虑一些通知的例子,并看看如何使用框架更快地搭建基于事件的应用程序。

作者:BUILDER.COM 2007年2月27日

关键字: SQL Server

  • 评论
  • 分享微博
  • 分享邮件
框架最重要的作用是能够满足软件设计人员需求的灵活性和可扩展性,这些需求都源自于众多的商业规则。因而框架能够同时提供阻塞和非阻塞事件通知,这些事件都是根据叫做判断(predicate)的逻辑条件而做出的。这两个机制对开发人员来说都是透明的,都被选择用来代表事件侦听程序的行为。现在让我们来考虑一些通知的例子,并看看如何使用框架更快地搭建基于事件的应用程序。


点击这里下载本文全部代码

通知的类型

阻塞通知,或者叫同步通知,在事件侦听程序等待阻塞执行线程的判断时才被使用。在判断得到满足的时候,这个线程就继续执行。这就为任务序列的及时串行化提供了一种方法。非阻塞通知,或者叫做异步通知,和标准的事件侦听程序模型类似:在多个侦听程序里注册一个事件,当事件发生的时候,它们就被通知到。这里的不同是,侦听程序只有在事件满足判断,而且这个判断在这些侦听程序里进行过注册的时候才被通知。判断既可以是简单的也可以是复杂的逻辑条件;例如,它可以依据另一个事件的结果而不同。

工作原理

框架包括有多个接口和抽象类(A),它能够扩展功能。这个框架层次结构的核心接口是Blackboard。它提供了侦听程序、判断、事件注册、事件传播和侦听程序通知(Listing A)。AbstractBlackboard类是Blackboard接口骨架形式的实现(Listing B)。Predicate接口(Listing C)和AbstractPredicate类(Listing D)会实现框架的主要逻辑概念,它们还负责事件的分派。BlackboardActionListing E)代表着对BlackboardEventListing F)启动的动作,只要判断为真。

图A

类的图表
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章