【三层架构】三层总结(知识型)

       最近,学习到了三层架构,通过学习视频、示例及其它相关文件,有了一些总结性收获。

       三层,总体是指表现层User InterfaceUI)、业务逻辑层Business Logic LayerBLL)和数据访问层Data Access LayerDAL)。

UI层

  显示层就是软件与用户展示的直接界面,展示界面的作用有两个:一个是向用户展示数据;另一个就是获取用户在界面上的操作信息,然后提供给其它层作相应处理。

  显示层的设计原则就是以用户为主(以用户角度考虑),并且在达到用户要求的同时兼顾简洁性。如果一个窗体上面密密麻麻的控件、数据什么的,乱七八糟的,就算我们自己都不喜欢,更别说用户了,所以显示层在满足要求的前提下尽量简洁。


BLL层

  业务逻辑层的主要作用就是处理业务的,业务包括获取数据访问层读取的数据库数据,展示在显示层;获得显示层用户操作,执行相应事件;获取显示层信息,令数据访问层写入数据库。一句话就是所有业务活动都在业务逻辑层处理。

  业务逻辑层是沟通显示层和数据访问层的桥梁。


DAL层

  数据访问层的作用就是对数据库里面的数据进行读取、修改、存入和删除。


原则

  1、数据访问层只提供基本的数据访问,不包括任何业务相关的逻辑处理;

  2、显示层只负责显示和采集用户操作,不包含任何业务相关的逻辑处理;

  3、业务逻辑层负责处理业务逻辑,通过获取显示层传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交给数据访问层处理。处理完成后,返回必要数据给显示层


注意

  三层每层都在相应的程序集中,不应该在同一个程序集中。并且,三层之间的应用关系如:

     1、DAL所在程序集不引用BLL和UI;

     2、BLL需要引用DAL;

     3、UI直接引用BLL,可能会间接应用DAL。

  在设计三层的时候应注意避免相互引用。


优点

  1、开发人员只关注某一层的操作;

  2、新的实现容易替换原有层次的实现;

  3、降低了各层之间的依赖关系;

  4、有利于软件的标准化;

  5、有利于逻辑的复用;

  6、保护了数据的安全;

  7、有利于负载平衡;

  8、提高了运行效率;

  9、便于构建不同网络环境中的分布式应用。


缺点

  1、降低了系统性能:如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。

  2、有时会发生级联修改:这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。


使用情景

  三层架构适用于构建分布式应用,并且业务逻辑复杂以及有真正的数据存储层。

你可能感兴趣的:(三层架构,UI层,BLL层,DAL层)