物理上的划分还是逻辑上的划分??
物理(硬件)上的划分:显示层/业务层/数据层
逻辑上的划分:数据访问层/显示层/业务逻辑层
what??
三层架构:是逻辑上的划分,将整个业务应用划分为:数据访问层(DAL),表示层(UI),业务逻辑层(BLL)。分层次的目的是为了“高内聚低耦合”的思想。
why?
当业务复杂的一定长度上,当数据存储到相应的数据库或者一个独立的数据存储介质这样的情况,即报数据访问脱离开业务单独存在,把业务脱离开显示单独存在,那么显示只需要呼叫业务访问层。
数据访问层(DAL)
也称为:持久层,功能主要是负责数据库的访问。
从数据源加载数据
向数据源写入数据
从数据源删除数据
PS:DAL只提供基本的数据访问,不包括任何业务相关的逻辑处理。
表示层(UI)
向用户展现特定业务数据
采集用户的输入信息和操作
PS:UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理。
业务逻辑层(BLL)
从DAL中获取数据,以供UI显示用
从UI中获取用户指令和数据,执行业务逻辑
PS:BLL负责处理业务逻辑。
各层之间的调用
表示层(UI)用户需要的界面,用户的需求都是在这上面改动的,一旦改动,首先U层向B层发送用户请求的说明,到达B层,B层在将U层的用户请求发到D层,D层接受到用户的指令后,对他进行处理,发送数据反馈到B层,B层再发给U层,将其实现。
PS:各层之间的引用关系:UI——>BLL——>DAL
DAL所在程序集不引用BLL和UI
BLL需要引用DAL
UI直接引用BLL,可能会间接引用DAL
总结
通过视频的学习对三层有了基本的了解,每个层次拥有自己的职能,做自己的事情,但是又有着剪不断的联系,但UI层被更改了,BLL和DAL层也要做相应的改变。