一、理解概念

①架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。

②架构:

1、根据要解决的问题,对目标系统的边界进行界定。

2、并对目标系统按某个原则进行切分。

3、对这些切分出来的部分,设立沟通机制。

4、使得这些部分之间能够进行有机的联系,合并组成一个整体,完成目标系统的所有工作。

很有意思的现象,就是对软件架构的定义没有一个统一的共识,都有自己的理解。我的感觉:无论什么形式的架构都是一种基本结构,规定了各组件之间的关系,协同完成某项任务的方法、模板。只是初步的印象,这里给大家一些思路,供大家思考。你是怎么理解的呢?

 

二、三层架构


宏观导图:


通用软件架构 应用软件的架构体系_三层架构


概述


    三层架构是将整个业务应用划分为:


    界面层UI(User Interface Layer):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。


    业务逻辑层BLL(Business Logic Layer):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。


    数据访问层DAL(Data access Layer):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。


    这是逻辑上的一种划分。


 


    三层在物理上的划分:


 

通用软件架构 应用软件的架构体系_通用软件架构_02


 


    与之相对的有两层的划分,在这里做一对比:


 

通用软件架构 应用软件的架构体系_三层架构_03


优点:

1.开发人员可以只关注结构中的某一层。

2.可以容易用新的实现替换原有实现。

3.降低层之间依赖。

4.有利于标准化。

5.利于逻辑复用。

6.结构更加明确。

7.在后期维护上,极大地降低了维护成本和时间。

缺点:

1.降低了系统的性能。

2.有时候会导致级联的修改。

3.增加的开发成本。

小结:

将整个业务分为三个层次去处理,实现“高内聚,低耦合”的目的,但是凡事都有利与弊,一定要根据实际情况来进行分析。