通过这两天的对三层架构的学习,对三层架构逐渐有了初步的认识
概述
首先三层架构通常意义上划分为表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
UI:展现给用户的界面,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
BLL:对具体问题的操作,一般作为DAL的扩展,不需要考虑SQL语句怎么写,主要负责对数据层的操作。
DAL:操作数据库,对数据库增删改查。
分层的好处,为什么要分层
经过这几天的学习,对于三层架构,其实分层不止于三层,根据需要可以分成多层。三层架构表达的是分层思想。
为什么要分层我总结为以下几点:
1.解耦
通过对三层架构的结构看,分层的目的就是解耦,"高内聚,低耦合"。三层构架中,系统将业务逻辑与数据访问分开,表现层与业务逻辑分开。
2.便于开发维护
开发人员可以只关注整个结构中的其中某一层;人员分工明确,UI层设计人员只需要设计程序界面,而不需要考虑业务逻辑和数据库访问,BLL层设计通过UI层的设计结合数据访问层完成业务逻辑流程,DAL层设计人员只需要设计数据库,为业务层提供操作。通过分层便于后期的系统维护工作。
3.利于各层逻辑的复用。
4.扩展性强。不同层负责不同的层面,可经过简单的配置实现Sqlserver和oracle之间的转换,当然写好了也可以实现B/S与C/S之间的转换。
三层的弊端
正如所有事物一样,有利就有弊,三层也有弊端:
通过三层的搭建过程很清楚的看到三层之间的引用关系,BLL对DAL的引用,UI对BLL和DAL的引用。
1.降低了系统的性能。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2.有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码
3.增加了代码量,增加了工作量
所以不恰当地分层造成代码反而更加难以维护,三层不能滥用。
三层的搭建
1.建立空白解决方案
名称:Login
2.建立三个类库
在Login方案下建立"VisualC#"中的类库:
LoginModel:公共层
LoginDAL:数据访问层
LoginBLL:业务逻辑层
3.建立表现层
LoginUI:WinForm窗体
4.添加引用
LoginDAL对LoginModel的引用
LoginBLL对LoginDAL和LoginModel的引用
LoginUI对LoginBLL、LoginDAL和LoginModel的引用
Imports语句引用
5.设置启动项。