CQRS之旅——旅程4(扩展和增强订单和注册限界上下文) (13)

Scope上下文还用于表示不涉及基础设施消息传递设备的元素内路由:

SendCustomerInvoice? -> CustomerInvoiceHandler @Invoice::CustomerInvoiceSent! -> -> InvoiceAgeingProcessRouter::InvoiceAgeingProcess

我将介绍的最后一个元素是State Change。状态变化是跟踪系统中发生的事情的最好方法之一,因此MIL将它们视为一等公民。这些语句必须出现在它们自己的文本行中,并以“*”字符作为前缀。这是MIL中唯一一次提到或出现任务,因为它非常重要!下面的代码片段显示了State Change元素的一个例子:

SendCustomerInvoice? -> CustomerInvoiceHandler @Invoice::CustomerInvoiceSent! -> -> InvoiceAgegingProcessRouter::InvoiceAgeingProcess *InvoiceAgeingProcess.ProcessState = Unpaid 总结

我们刚刚介绍了在松耦合应用程序中描述消息传递交互时使用的基本步骤。尽管所描述的交互只是可能交互的子集,但是MIL正在发展成为一种简洁地描述基于消息的系统交互的方法。不同的名词和动词(元素和动作)由不同的、有记忆意义的符号表示。这提供了一种跨基板(粘糊糊的人脑< - >硅CPU)的方法来通信有关整个系统的有意义的信息。尽管该语言很好地描述了某些类型的消息传递交互,但它仍然是一项正在进行的工作,需要开发或改进该语言的许多元素和工具。这提供了一些很好的机会去为OSS贡献代码,如果你一直在观望或思考参与OSS去贡献代码,没有时间犹豫了,现在就去,fork仓库,马上开始吧!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wppzzg.html