【C#】三层模式
前言
三层体系架构,是在客户端和数据库之间加入了一个“中间层”,也叫组件层。这里所谓的三层体系,不是物理上的三层,指的是逻辑上的三层。三层包括UI「显示层」、BLL「业务逻辑层」和DAL「数据访问层」。
使用原因
- 传统的「两层结构」存在过多的局限性(比如:当数据库或用户界面发生改变时需要重新开发整个系统,之前做的vb机房就是两层。);
- 为了克服两层结构的局限性提出了「三层结构」(当数据库或用户界面发生改变时不需要重新开发,只做简单调整即可)。
应用场景
- 当业务逻辑复杂,既有数据访问层,又有业务逻辑层,才需要使用三层结构。区分层次的目的是为了“高内聚,低耦合”的思想。
优缺点
-
优点
- 开发人员可以只关注整个结构中的其中某一个层
- 可以很容易的用新的实现来替换原有层次的实现
- 可以降低层与层之间的依赖
- 有利于标准化
- 利于各逻辑的复用
-
缺点
- 降低了系统的性能,如果不采用分层式结构,很多业务可以直接造访数据库,以此获得相应的数据,但是现在必须通过中间层来完成
- 有时会造成级联的修改「级联就是父级变化子级也跟着变化」。这种修改又是体现在自上而下的方向,如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
关系
三层结构中,各层之间相互依赖,表示层依赖于业务逻辑层,业务逻辑层依赖于数据访问层。