在学习完JavaSE、MySQL、JDBC后,紧接着就学习了三层架构。但是学习的过程不太顺利,所以想着写一篇博客来进行总结。

首先,三层架构的概念

三层架构就是将整个业务应用划分为:表现层(UL)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的是为了 “高内聚低耦合” 的思想。

1.表现层(UL):又称为表示层,位于三层架构的最上层,与用户直接接触。

2.业务逻辑层(BLL):表现层和数据访问层之间的桥梁。实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则等等。

3.数据访问层(DAL):与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。

其次,三层架构的数据传递载体:实体类库(Model层)

model层的作用:

1.实现面向对象思想中的"封装"。

2.实体层贯穿于三层之间,来连接三层,在三层之间传递数据。

3.model层从本质上说,其实就是面向对象编程中最基本的东西:类。

三层架构缺少using指令 三层架构调用顺序_三层架构缺少using指令

接着,使用三层架构的目的

使用三层架构的最终目的就是为了:解耦。

尽可能减少代码耦合,如果发现代码耦合,就要采取解耦技术。让数据模型,业务逻辑和视图显示三层之间彼此降低耦合,把关联依赖降到最低,而不至于牵一发而动全身。

当三层结构中的任意一层出现改变,都不会影响其他两层,以此降低耦合性。

最后,选择三层架构之后的优劣势及使用情况

优势:

1.结构清晰、耦合度低。

2.可维护性高,可扩展性高。

3.利于开发任务同步进行, 容易适应需求变化。

劣势:

1.降低了系统的性能。整个业务的实现需要通过中转的业务逻辑层实现,如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据。

2.维护成本提高。整个业务分为三层,需要各自维护每个层。

3.增加了代码量,增加了工作量。

使用三层架构的情况:

当系统业务功能繁多,庞大,业务需求不断增加,需要不断进行维护时,建议使用三层架构。