组件化(SOA)的疑惑
各位达人们:自己最近在思考如何将现有的系统重构成组件化的系统(插件式)。
目前可以实现基础数据(主数据)、公共部分提取出来作为公用组件。
但是具体到每一个业务模块时,却不知道怎么弄了?
比如,系统中现在有A业务模块和B业务模块,A和B之间可能仅有一个字段有交互关系。
这个时候,怎么把这2个模块提取出来做成组件呢?
[目前的疑惑就是如果2个业务模块之间有数据交互关系时,怎么把它们弄成可插拔的组件?]
--------------------编程问答-------------------- 原则上各做各的,他们之间的通讯通过统一的接口或者事件完成
而设计上一般采用组合模式完成。
其实不需要想那么多,一个最基本的原型就是微软的Control类,这个类就是典型的组合模式,也是典型的基于各自接口和事件互相通知协作的东西
Control.xxxx事件+=事件处理
Control.Controls.Add(new Control())
补充:.NET技术 , .NET Framework