整体
- 面向接口:消息系统,持久系统等,其实现都是可替换的,主干代码对实际的消息系统或持久系统等一无所知
- 组件复用:Visio对象及Visio模具的使用目前来看取得了极好的效果,极大缩短开发周期、增强功能、并自动将数据与视图进行了相当程度的分离,并且比Jawe等设计器漂亮多了
- 基于SOA:平台所有接口都是通过WebService提供的,提高了复用和跨平台能力;实际上,平台是.Net开发的,而目前支撑的几个应用则是J2EE的
- 服务网关/接口:平台核心功能以类库的形式提供,所有暴露出的接口都是薄薄的一层WebService包装(服务接口);对接口的访问也以类库的形式提供,隐藏了对WebService的调用(服务网关)
- 遵循标准:对WfMC的遵循使开发组少走了不少弯路,因标准即使不是最佳方案,亦已对常见问题深思熟虑,对缺少业务专家的开发组来说有相当的指导作用;并且开源软件提供了参考实现,与开源软件的互操作验证了产品的正确性
模块
- 通用查询接口:Decorate/Composite
实现手段近似,意图不同
/// <summary>
/// 通用的条件接口,使用Object类型的参数,将类型安全检查踢给子类
/// </summary>
public interface ICondition {
/// <summary>
/// 返回传入对象是否满足本条件
/// </summary>
/// <param name="obj">传入对象</param>
/// <returns>传入对象是否满足本条件</returns>
bool Calculate(Object obj);
/// <summary>
/// 返回本条件的字符串表示,用于WebService的参数传递
/// </summary>
/// <returns>本条件的字符串表示</returns>
String GetString();
/// <summary>