早期的网络系统设计经常回收三层布局。最常见的布局,就是暗示( 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。这由陈设的情况来抉择。