Javaweb之三层架构

三层架构

三层架构是一种设计软件的体系结构。

三层架构就是为了符合“高内聚,低耦合”思想,把各个功能模块划分为表示层(UI)业务逻辑层(BLL)数据访问层(DAL)三层架构,各层之间采用接口相互访问,并通过对象模型的实体类(Model)作为数据传递的载体,不同的对象模型的实体类一般对应于数据库的不同表,实体类的属性与数据库表的字段名一致。

表示层(UI)

表示层又称表现层或视图层或用户界面层 UI(User Interface layer):就是实现与用户交互的功能,将用户的需求传达和反馈,即用于接受用户输入的数据,同时反馈相关的输出数据展示给用户。

业务逻辑层(BLL)

业务逻辑层 BLL(Business Logic Layer):是连接表示层和数据访问层的桥梁,实现业务逻辑的功能。可以对接受到的数据进行处理、执行相关的计算等一些逻辑操作。

业务逻辑层通过调用数据访问层的各种操作方法,将这些方法按一定的逻辑组合起来实现具体需求,将这个过程比作搭积木的过程。

数据访问层(DAL )

数据访问层又称持久层 DAL (Data access layer):主要用来操作数据库中的数据,实现数据的增加、删除、修改、查询等操作,并将操作结果反馈到业务逻辑层 BBL。

比如在数据访问层定义了一些操作数据的方法,即增、删、改、查的方法,将这些方法比作一块块的积木。

Javaweb之三层架构_第1张图片
比如:

1、用户需要计算功能
用户在 UI 层输入用于计算的数据,然后传递给 BLL,在 BLL 进行计算操作,最后再将结果返回给 UI 层,通过UI 层展示给用户。
即:UI —> BLL —> UI

2、用户登录功能
用户在 UI 层输入相关的登录信息,然后传递给 BLL,在 BLL 进行相关的逻辑验证后将需要操作的指令传递给DAL,DAL根据接收到的指令对数据库中的数据进行相关的操作,然后将操作结果反馈给 BLL,BLL进一步反馈给 UI层,在 UI层展示用户需要的信息。
即:UI —> BLL —> DAL —> BLL —>UI

实体类库(Entity)

实体类库是数据库表的映射对象,即将一个数据表映射成一个实体类,表中的每一个记录封装为该实体类的对象,表中的每个字段对应实体对象中的一个属性。实体类库主要用于封装表中数据方便在表示层、业务逻辑层以及数据访问层之间进行传输,实现各个结构层的参数传输
Javaweb之三层架构_第2张图片
Javaweb之三层架构_第3张图片

相关层的Java包命名规则 对应的层
com.xxx.项目名.dao 保存dao层接口 (数据访问层)
com.xxx.项目名.dao.impl 保存dao层接口的实现类
com.xxx.项目名.service 保存service层接口 (业务逻辑层)
com.xxx.项目名.service.impl 保存service层接口的实现类
com.xxx.项目名.web 保存web层接口类 (表示层)
com.xxx.项目名.util 保存相关工具类
com.xxx.项目名.domain 保存 javabean 标准类(实体类)

参考:
https://baike.baidu.com/item/三层架构

你可能感兴趣的:(JavaWeb,java)