从 BTS 2009 开始,我们根据项目和程序集所属的应用程序以及可选的子应用程序或关注范围来命名我们的项目和程序集:
MyCompany.Biz.MyFirstApp.dll
MyCompany.Biz.MyFirstApp.Util.dll
MyCompany.Biz.MyFirstApp.ConcernOne.dll
MyCompany.Biz.MySecondApp.dll
我们采取了将编排、模式和映射放在一起的方法,因为多程序集依赖关系可能会使部署变得非常麻烦。
我们的主要目标是将源系统和目标系统分开以避免直接引用。我们通过引入“核心”组件来解决我们正在处理的所有问题,从而实现了这一目标:
BTS 应用程序 MyFirstApp
MyCompany.Biz.MyFirstApp.OrderProcessing.dll
MyCompany.Biz.MyFirstApp.Util.dll
基站应用核心
MyCompany.Biz.CORE.OrderProcessing.dll
BTS 应用程序 MySecondApp
MyCompany.Biz.MySecondApp.OrderProcessing.dll
Both MyFirstApp
and MySecondApp
将引用模式CORE.OrderProcessing
.
Update
MyCompany.Biz.MyFirstApp.OrderProcessing将包含传入订单文档的消息模式以及用于将这些文档映射到核心订单消息模式的映射(包含在MyCompany.Biz.CORE.OrderProcessing)。如果需要,它还可以包含用于接收消息和(接收)管道组件的编排(例如,在处理平面文件时)。
MyCompany.Biz.MySecondApp.OrderProcessing将包含传出文档的消息模式以及用于从核心订单消息模式(到传出)映射的映射。
在此基本布局中,CORE 只是内部消息模式的容器,但它将是向订单文档添加信息的最佳位置 - 例如,为 A 类客户提供全球折扣的编排(业务规则!)。简而言之,基本上任何步骤在发送或接收消息时都会执行两次甚至多次,并且如果传入或传出消息模式更改或添加新应用程序,您不想触及。