文档介绍:120
1
软件设计分层模式
分层模式是将解决方案的组件分隔到不同的层中。每一层中的组件应保持内聚性,每一层都应与其下面的各层保持松耦合。对于一个系统的分层,小型系统一般三层就足够了,复杂系统可以分更多的层。总之,分层是根据系统的实际要求决定的,分层的方案有很多种,其中影响力最大也最成熟的是三层架构。
三层架构
三层架构一词中的“三层”是指表示层、业务逻辑层、数据访问层,。
表示层:位于最外层(最上层),使用户能够直接访问,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作界面。在Web应用程序中,表示层一般以JSP文件、HTML文件为主,。
120
2
三层架构
表示层
业务逻辑层:其主要功能是提供对业务逻辑处理的封装,在业务逻辑层中,通常会定义一些接口,表示层通过调用业务逻辑层的接口实现各种操作。如数据有效性的检验、业务逻辑描述等相关功能。业务逻辑层经常放在biz包下,biz是英文business的缩写,意思是“业务逻辑”。
数据访问层:该层是实现对数据的保存和读取操作。数据访问,可以访问关系数据库、文本文件或XML文档等。数据访问层通常放在DAO包下,DAO是英文Data Access Object的缩写,意思是“数据访问对象”。
层与层之间的关系
在三层架构中,各层之间相互依赖:表示层依赖于业务逻辑层,业务逻辑层依赖于数据访问层。各层之间的数据传递方向分为请求与响应两个方向,。
表示层根据用户的操作,将请求提交给业务逻辑层;业务逻辑层收到请求,首先对请求数据进行必要的审核和处理,然后将请求通知数据访问层或直接将处理结果返回给表示层;数据访问层收到业务逻辑层的调用后便开始访问数据库。
数据传递方向
120
3
业务逻辑层在体系架构中的位置非常关键,起到数据交换中承上启下的作用。理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。
数据访问层通过对数据库的访问得到请求结果,并把请求结果通知业务逻辑层;业务逻辑层收到请求结果,可以对请求结果进行必要的审核和处理,然后将请求结果通知表示层;表示层收到请求结果,并把结果展示给用户。
分层原则
在应用程序系统中实现分层开发可以带来很多便利之处,在设计分层架构时,具体遵循的原则如下。
1.上一层依赖其下一层、依赖关系不跨层
上一层调用下一层所得到的执行结果,完全取决于下一层中的代码实现,上一层无法进行控制。
2.下一层不能调用上一层
上一层调用下一层功能,下一层不能调用上一层功能。下一层为上一层提供服务,而不使用上一层提供的服务。
3.下一层不依赖上一层
下一层的代码实现决定了上一层获得的内容,所以说上一层依赖下一层。从另一个角度来说,上一层不管如何发生改变,对于其调用下一层的业务是不会发生变化的,因
120
4
此对于下一层来说,上一层的改变不会对其产生任何影响。
4.在上一层中不能出现下一层的概