早期的网络系统设计常常采用三层结构。最常见的结构,就是表示( presentation )层 , 领域( domain )层 , 以及基础架构( infrastructure )层。
n层结构的提出是为了适应当前b/s模式开发web application的需要而提出的。传统的brown模型是指:表示层( presentation ),控制 / 中介层( controller/mediator ),领域层( domain ) , 数据映射层( data mapping ) , 和数据源层( data source )。它其实就是在三层架构中增加了两个中间层。控制 / 中介层位于表示层和领域层之间,数据映射层位于领域层和基础架构层之间。
j2ee规范提出了自己的n-tiers结构。
(图片较大,请拉动滚动条观看)
下表是几种模型的对照
| isa | brown | j2ee 层 | 对应程序部分 |
| 表示层 | 表示层 | 客户层 | 浏览器 html 页面, xsl, 手机客户端等 |
| 服务器表示层 | jsp 及 actionform ,xml | ||
| 控制/中介层 | controller 控制器及 action | ||
| 领域层 | 领域层 | 业务层 | javabeans / sessionbean /session facade |
| 数据映射层 | 整合层 | entitybean / jdo / hibernate / jdbc | |
| 数据层 | 数据源层 | 资源层 | rdbms 数据库 |
j2ee的基本原则之一,是使得各个层的实现解除耦合或耦合最小化。最终实现可以任意的切换某个层的实现。
例如,在数据映射层,可以采用ejb的bmp,cmp,也可以采用hibernate等o/rmapping,或者采用jdo。这由部署的环境来决定。
闽公网安备 35060202000074号