三层结构
1.在讲三层结构之前需要先了解什么是三层:
(1) 表示层:主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户须要的数据。
(2)业务逻辑层(service):表示层和dao层之间的桥梁。实现业务逻辑。业务逻辑详细包括:验证、计算、业务规则等等。
(3)数据层(dao):与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同一时候将业务层处理的数据保存到数据库。
下面来看一张图
这张图上已经很明白的展示了三层结构的使用即表示层将用户请求发送给业务逻辑层,业务逻辑层将用户请求发送给数据访问层,数据访问层获取数据后将结果反馈给业务逻辑层,业务逻辑层在将结果反馈给表示层表示出来显示给用户。
举一个例子
客人去饭店吃饭通过服务员进行点菜,然后服务员把菜报给厨师,厨师在告诉采购员需要
什么东西,采购员采购回来之后
把东西给厨师,厨师进行加工,服务员在把菜给客人 这就是三层结构的调用,服务员就相
当于表示层,厨师就相当于service层,采购员就是dao层
为什么要使用三层结构?
1、为了达到高内聚低耦合
2、降低了代码的重复量
3、层与层之间互不影响
使用三层结构的优缺点:
优点:
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
缺点:
1、降低了系统的性能。
2、增加了开发成本
3、增加了代码量,增加了工作量
怎么使用三层结构
不需要使用三层结构的情况:
1业务逻辑简单。
2、没有真正的数据存储层。
需要使用的情况:
当业务复杂到一定程度后,数据需要单独的存储到相对独立的介质中时,需要把数据访问脱离开业务单独存在,把业务脱离开UI单独存在,UI达到业务只需要呼叫业务访问层即可实现跟用户访问的交互。