业务系统解决方案中的项目逻辑分离,物理上也分离。
至少按三个项目组织(界面层项目、中间层项目、数据实体定义项目),均以独立的程序集发布。
界面层项目中的组件(UI Components)只允许通过中间层业务逻辑组件代理(派生自平台的基类ServiceClientAgent,平台提供生成工具)提供的服务进行访问。不允许直接调用中间层的业务逻辑组件提供的服务。
中间层中的业务逻辑组件必须定义为公共访问的(public),必须提供默认构造函数,业务逻辑组件对外提供的服务(即正面方法 façade method)必须是成员方法(instance method)。
业务逻辑组件必须提供至少一个服务。
层间传递的数据实体定义,定义时添加.Net特性标签 [Serializable],不建议使用 DataTable、CollectionBase类型作为传递类型。