系统架构设计风格3---隐式调用风格 Implicit Invocation Style(事件驱动)
隐式调用风格常见实现如下:
- 基于应用程序、操作系统比如windows的事件机制的隐式调用风格,一般叫做基于事件的隐式调用风格(Event Based Implicit Invocation Style)。传播的是事件。
- 基于消息中间件比如MSMQ、RabbitMQ、ActiveMQ、Kafka的隐式调用风格,一般叫做发布-订阅风格(Publish Subscribe Style)。传播的是消息。
- 基于回调Callback机制的隐式调用风格,常见的语言,都提供了回调Callback机制。
- 基于特定调用约定机制、特定数据约定机制的隐式调用风格,比如Sap Successfactors与Sap Business One进行数据集成,中间件将Sap Successfactors的数据同步到中间件数据库,Sap Business One每月定时获取中间件数据库的特定业务数据比如请假、加班等,进行薪资计算
也叫事件驱动的架构风格:
构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中的其他构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程。一个事件的触发就导致了另一个模块中的过程的调用。这种风格中的构件是非命名的过程,它们之间交互的连接件往往是以过程之间的隐式调用(Implicit Invocation)来实现的。基于事件的隐式调用风格的主要优点是为软件重用提供了强大的支持,为构件的维护和演化带来了方便,其缺点是构件放弃了对系统计算的控制。
作者:竖起大拇指
链接:https://www.jianshu.com/p/01376be25bf1
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
隐式调用风格例子:
- 新闻、火警等
- MVC模式
- IDE集成开发环境
- 数据库中保持数据一致性的约束、存储过程等