三层架构的困惑:为什么要分出数据访问层

我这里举个分成开发的例子,大家看看:
以购物为例:
    有两种情况(对应不分层与分层):1.直接到厂家购买,每买一种商品你都要选择相应的厂家,直接和厂家沟通,购得相应的物品;2.厂家设立了省级分销商、省级分销商又设立了地市级分销商、地市级分销商又把商品投放到超市,这样我们直接到超市去购买相应的物品。
    从上面的例子我们可以发现,在不分层的情况下,我们的时间全都花费在直接与厂家的交互上(程序里就是跟数据库的交互),每买一次都要重新交互,如果厂家有了变更,我们也许就找不到我们想要的商品了。如果在分层的情况下,我们直接到超市购物,而分配商品到超市的工作都交给了厂家(也就是计算机来处理),我们到超市直接就可以查找我们想要的商品并购买,而不需要了解厂家的情况,即使厂家出了问题,比如缺货,我们也不需要了解细节,只需要知道结果,超市里无货,就可以了。
    通过这个例子,不知道是否有助大家的理解。

================================
讲的是是很有道理的
这个例子的是数据访问层的数据层细节屏蔽作用,其实操作系统就是最典型的例子
另外还有安全控制的作用,虚拟作用

我也举安全控制作用的例子
不分层和分层次的情况:<1> 公司信件传达室里面,大家直觉的根据信件上的收件人姓名去拿走自己的信件. <2> 公司信件传达室里面,向传达室阿姨领取自己的信件,阿姨根据你这个人决定是否将哪些信件给你.
   在正常情况下,两种情形对公司的职员们来说,大家都可以正确领取属于自己的信件.但是若某天公司里面的职员因为个人品德问题想违规操作比如冒领的时候,第一种情况下,该职员可以取走其他人的信件,影响公司团体的正常运作.第二种情况下,该职员试图领冒领其他人的信件,传达室阿姨是不会将其他人的信件给这个职员的
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值