软件设计分层模式
三层架构
三层架构一词的三层是:表示层,业务逻辑层,数据访问层。
表示层: 位于最外层,使用户能够直接访问,用于显示数据和接受用户输入的数据,为用户提供一种交互式操作界面。在web程序中,表示层一般以JSP文件,HTML文件为主。
业务逻辑层:其主要功能是提供对业务逻辑处理的封装,在业务逻辑层中,通常会定义一些接口,表示层通过调用业务逻辑层的接口实现各种操作,如数据有效性的校验,业务逻辑描述等相关功能。业务逻辑层一般放在service包或者biz包下,biz是英文business的缩写,意思是“业务逻辑”。
数据访问层:该层实现对数据的保存和读取操作。数据访问,可以访问关系数据库,文本文件或XML文件等。数据库层通常放在dao包下,DAO是英文Data Access Object 的缩写,意思是“数据访问对象”。
层与层之间的关系
在三层架构中,各层之间相互依赖。表示层依赖业务逻辑层,业务逻辑层依赖于数据访问层,各层之间的数据传递方向分为请求与响应两个方向。
表示层根据用户的操作,将请求提交给业务逻辑层;业务逻辑层收到请求,首先对请求数据进行必要的审核和处理,然后将请求通数据访问层或直接将处理结果返回表示层;数据访问层收到业务逻辑层的调用后便开始访问数据库。
业务逻辑层在体系架构中的位置非常关键,起到数据交换中承上启下的作用。理想的分层式架构,应是一个支持可抽取,可替换的“抽屉”式架构。业务逻辑层的设计对于一个支持可扩展的框架尤为关键,因为它扮演了连个不同的角色。对数据访问层而言,它是调用者,对于表示层而言,它是被调用者。
数据访问层通过对数据库的访问得到请求结果,并把请求结果通知业务逻辑层;业务逻辑层收到请求结果,可以对请求结果进行必要的审核和处理,然后将请求结果通知表示层;表示层收到请求结果,并把结果展示给用户。