微软的 patterns&practices 在应用架构指南2.0 项目下发表了一篇 RIA 模式。该模式分析了一种 3 层架构的场景并给出了解决方案。
在场景中,要求通过一种 3 层设计,使 RIA 能够访问数据库,同时又无需传输任何敏感数据:
推荐的方案如下:
方案中使用了以下模式:
- 用户界面处理由一种 Model-View-Controller 模式完成。
- 用户界面由若干控件组成,其中一些控件可绑定到数据元素。
- 用代理(proxy)实现表现层与服务层之间的通信。
- 用数据传输对象(DTO)模式将多个数据结构封装成一个。
- 服务层负责内部与外部数据结构之间的来回转换。
- 业务层用 Façade 模式实现基于粗粒度消息的操作。
- 用 Transaction Script 对象实现业务请求处理。
- 用 Repository 模式实现领域实体访问
- 用领域实体(Domain Entity)模式定义仅包含数据的业务实体。
- 用数据映射(Data Mapper)模式将领域实体映射到数据库 Schema。
在这份指南中详细解释了所用的模式,也提出了技术方案,当然是基于微软产品的技术方案。不过显然该方案也可以适用于包括开源产品在内的其他产品。
评论