一、理解概念
①架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。——百度词条
②架构(链接):
1、根据要解决的问题,对目标系统的边界进行界定。
2、并对目标系统按某个原则进行切分。
3、对这些切分出来的部分,设立沟通机制。
4、使得这些部分之间能够进行有机的联系,合并组成一个整体,完成目标系统的所有工作。
很有意思的现象,就是对软件架构的定义没有一个统一的共识,都有自己的理解。我的感觉:无论什么形式的架构都是一种基本结构,规定了各组件之间的关系,协同完成某项任务的方法、模板。只是初步的印象,这里给大家一些思路,供大家思考。你是怎么理解的呢?
二、三层架构
宏观导图:
![](https://i-blog.csdnimg.cn/blog_migrate/17ef1c7c4cd6ca0d7aaa7e2430b05dee.png)
概述
三层架构是将整个业务应用划分为:
界面层UI(User Interface Layer):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
业务逻辑层BLL(Business Logic Layer):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
数据访问层DAL(Data access Layer):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。
这是逻辑上的一种划分。
三层在物理上的划分:
![](https://i-blog.csdnimg.cn/blog_migrate/7626c89c9302ebd9eae2af7b2301ac34.png)
与之相对的有两层的划分,在这里做一对比:
![](https://i-blog.csdnimg.cn/blog_migrate/313d7807f2e52308594bce33fcdc6e4c.png)
优点:
1.开发人员可以只关注结构中的某一层。
2.可以容易用新的实现替换原有实现。
3.降低层之间依赖。
4.有利于标准化。
5.利于逻辑复用。
6.结构更加明确。
7.在后期维护上,极大地降低了维护成本和时间。
缺点:
1.降低了系统的性能。
2.有时候会导致级联的修改。
3.增加的开发成本。
小结:
将整个业务分为三个层次去处理,实现“高内聚,低耦合”的目的,但是凡事都有利与弊,一定要根据实际情况来进行分析。