前言
要说三层那我必须说说这个东东,因为我太爱它了,嘿嘿,3层给我最直观的感觉就是我们离面向对象又进了一步,用简单的话来描述我的爱妾(三层)就是不同的类负责不同的事情,让你耦合性减低!生活中的3层比比皆是,例如3层楼房,不同层次的社会人士,不同层次的政府官员,其实原理都一样,所以对于3层我们无需担忧,只有你用心爱它,那你的爱妃(三层)绝对不会辜负你的!哈哈哈。
如何异同请指出
内容
定义:三层体系结构是客户端与数据库之间加入一个中间层,也叫作组件层,这里的三层结构并不是指的物理上的3层体系结构,而是指的逻辑上的三层结构,主要分为显示层,业务逻辑层,数据访问层,另外还有一个管闲事的数据模型,为什么这么说呢?(栗子中会提到)
Why
why ?为什么我们设计三层,为什么要没事就找麻烦? 因为为了封装数据,让耦合性减低,UI层只负责客户端显示,bll层只负责业务逻辑层,主要是把命令传递给DBL,逻辑判断等功能都是在业务逻辑层中进行的,DBL的主要功能是与数据库链接,丛数据库中取得信息。
他们之间是如何运转
显示层引用业务逻辑层,业务逻辑层引用数据访问层,数据访问层不会引用显示层与业务逻辑层,3之间最忌讳的就是互相引用和交叉引用,为了避免这个问题所以才出现了业务数据模型
BLL是什么?
1. 作为UI与DAl的桥梁,让DAl数据通过业务逻辑层Bll传输给UI(显示层)
1. 当从ui中得到执行登录和知道password与账号,时执行业务逻辑,1.判断用户名是否合法,2.判断是否是正常的密码,3.给想应的积分,4.把数据显示出来
2. ui提出请求,收集一定的数据然后传给Bll(业务逻辑层),业务逻辑如果要处理,但是处理不了所以必须给DAL,所以把请求转给DAL,DAL经过数据源访问处理加工然后再给BLL,当BLL的到最终结果之后返回给uI
UI是什么?
用户想要什么,则就给什么。展现给用户看的,显示层是不是与数据源层打交道,这时则需要业务逻辑层来支持吗,显示层(UI)是不许数据访问层(DAL)说话的,利用业务逻辑层
DAL是什么?
1. 主要就是和数据源打交道
3. 跟业务逻辑没有关系
4. 与数据源打交道,删除与写入对于dal来说是两个操作,他会管你些什么存储什么,他只负责他那一部分。
数据模型是什么东东?
1. 数据模型指的是可以在UI(显示层)与DAL(数据访问层)之间可以上碰下跳
2. 数据模型需要定义到数据集中,也就是在添加一个类用来定义数据模型
3. 数据模型倾向于业务逻辑层BLL。也可以是数据访问层,因为他是封装数据访问的,如果他包含其他逻辑则属于业务逻辑层
举个例子
在农村里的一条小胡同里,有三户人家,这三户人家都住着性格特别的暴躁的妇人,3户人家的生活水平是不同层次的,第一户人家最优钱,第二户人家中等,第三户人家最穷,由于一些鸡毛蒜皮的小事,第一户人家不与第三户人家说话,但是这两户人家都同时做着买卖,第一户人家必须要用到第三户人家生产的玉米,所以第二户人家成了桥梁,来帮助他们再不说话的情况下还能做生意,第三户人家不好意思直接接手这种事情,所以找来一个另一个人,在他们之间传递信息,但是传递信息必须要经过第二户人家。
图
生活例子图
系统图