什么是三层?
通常意义上的三层架构就是将整个业务应用划分为:表示层(Presentation layer)、业务逻辑层(Business
Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。
各层的作用
UI(表现层):主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。
BLL(业务逻辑层):UI层和DAL层之间的桥梁。实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则等等。
DAL(数据访问层):与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务
层,同时将业务层处理的数据保存到数据库。
3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。
为什么使用三层?
区分层次的目的即为了“高内聚,低耦合”的思想。
优点:
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
缺点:
1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应
的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证
其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
3、增加了开发成本。
具体应用—原则
DAL只提供基本的数据访问,不包含任何业务相关的逻辑处理;
UI只负责现实和采集用户操作,不包含任何的业务相关的逻辑处理;
BLL负责处理业务逻辑。通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交给
DAL处理。处理完成后,返回必要数据给UI。