学习就好像吃饭一样,只要细嚼慢咽就不会噎着,三层的学习亦是这样,接下来就对三层架构做一下总结
首先来个例子:对与一个饭店来说需要有服务员,厨师,和采购员这三种职业。服务员只管接待客人,厨师只管烹饪客人要的美食,采购员只管购买食材,这样各个职业各司其职,互不干涉,而三层就向这样,把业务层分开,从而提高效率。
1、三层概念:
表示层UI(User Interface):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
数据访问层DAL(Data Acess Layer):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。所以D层的类对应的就是表。
业务逻辑层BLL(Business Logic Layer):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
2各层作用:
表示层UI:向用户展现特定业务数据,采集用户的输入信息和操作
数据访问层DAL:从数据源加载数据,向数据源写入数据,从数据源读取数据。
业务逻辑层BLL :从DAL中获取数据,以供UI显示用
从UI中获取用户指令和数据,执行业务逻辑
从UI中获取用户指令和数据,通过UI写入数据源
3、三层结构程序设计原则:
DAL只提供基本的数据访问,不包含任何相关的逻辑处理;
UI只负责显示和采集用户操作,不包含任何的业务相关逻辑处理;
BLL负责处理业务逻辑,通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理,处理完成后,返回必要数据给UI。/
4、程序分层的目的:
隔离/解耦合
5、程序分层的优点:
性能/安全性/可维护性/扩展性6、三层之间的引用关系:
7、三层之间的数据传递方向:
最后说一下三层种必不可少的实体
8、实体层(Entity)
就是数据库所有表的。每个表都是一个类,表的字段就是属性。实体层为传递各种数据的容器,相当于一个载体。
对实体类的理解:
1)与数据库里面表做对应,一个实体类对应一张表,这样与数据库交互时就可以一一对应,对数据库进行操作
2)把常用的字段封装到一起,为我们在关系数据库和对象之间架起一座桥梁
3)实体类用来传输数据的业务数据模型
4)实体类不用知道其他三层的存在
小结:有了三层的思想当然就是实践了,下一篇将介绍如何用三层的思想敲出登陆的界面。