VB.net 视频里讲到了早闻大名的三层,那么关于三层的一些理论知识和实践操作是怎样的呢?我会在这篇博客和下一篇博客,为大家娓娓道来。
三层包括显示层,业务逻辑层,数据访问层。包图如下:
下面就分别介绍一下,三层的每一层。
显示层 UI(User Interface)
作用---
展现业务
采用户信息和操作
原则---
简洁友好
业务逻辑层 BLL (BusinessLogic Layer)
作用
1.从DAL得数据,供UI显示
2.从UI得用户指令数据,执行业务逻辑
3.从UI的用户指令数据,通过DAL写入数据源
数据访问层 DAL(Data AccessLayer)
作用
1.从数据源(不只是数据库)加载数据,select
2.向数据源写入数据insert /update
3.从数据源删除数据delete
三层不只是三层,还有一个Entity。
Entity——
由来:User相当于一个数据模型,它需要一个Model,或者说Entity用来封装数据,让它能在各层之间流转上窜下蹦。
独立性:Entity不知道外面有层次,它是独立于其他三层的。三层都知道Entity的存在,Entity不知道三层的存在。
引用:从程序集引用来说,Entity不引用其他程序集。三层程序集都要引用Entity
三层的职责机制
1.UI请求给BLL,BLL自己可以搞定,传给UI
2.UI 请求 ,搜集数据,传BLL,一看需要数据,转给DAL,加工后给BLL,BLL知道之后给UI
PS:UI引用BLL,BLL引用DAL ,UI间接引用DAL。忌讳 互相引用
程序集Assembly
DAL BLL UI 分别在不同的程序集中,这样具有扩展性。
具体应用 ——原则
DAL---只提供 基本数据访问,不包含任何逻辑业务处理
UI----只负责显示和采集用户操作,不包含任何业务处理
BLL——最重要。负责处理业务逻辑。获取,UI操作指令,决定执行业务逻辑,在需要访问数据源后,给DAL,处理完,返回必要数据给UI。
小结:
通过分层来实现各司其事,这增强了程序扩展性。每实现一个功能,要用三层来合作实现,和之前把所有的代码都写到一起相比,这是一个转变。
关于三层的代码实践请期待下一篇~
博客有待改进之处,期待您的意见和建议。