最近也进展到了三层的学习,看了一些三层的相关的资料,
才逐渐的认识到三层的概念。
当初没看之前,在学习软件工程的时候,就曾设想过一个项目
的流程也应该大致的包括三部分:需求分析、业务逻辑处理、数
据库。而当面对三层的时候,才恍然大悟,这不就是三层的影子
吗?三层到底是何方神圣呢,下面先看一副图片。
大家设想一下,我们平常去饭店吃饭的场景,前脚刚进去,
服务员就笑嘻嘻的来迎接你,把你点的菜肴,交给头大的伙夫,
伙夫通过后勤人员提前准备好的菜,来做出美味的佳肴,最后再
次通过服务员反馈给你。
想一下,这三个人少一个,整个流程的服务效率就会大大的
下降,就会使整个流程变得杂乱无章。这与我们的三层的是一个
道理,下面就一一揭晓三层。
表示层(User Interface)
所谓的表示层,就是用户接触的界面,用来为用户提供服
务的数据,例如我们经常所见的注册和登陆界面
业务逻辑层(Business LogicLayer)
从名字中就可以看出,就好比一个中转站,一个加工厂,把
用户提供的数据,经过逻辑上的加工后或者保存到数据库中,或
者直接在返回用户,起着承上启下的作用,刚好搭建了表示层和
数据访问层之间的桥梁。
数据访问层(Data Access)
仅实现对数据的保存和读取操作。就好比仓库管理员的工
作,实现对仓库的货物情况进行整理。
为什么会有三层?
可能我们会想,不是两层就OK了嘛,干嘛非得多出一个数据
访问层呢。让用户直接与底层的数据联系不是更有效率吗?这样
想是没有错误的。真正三层的目的,是把软件开发任务分解,有
利于团队合作开发;软件的适应性增强,一旦有什么需求变动可
以很快的进行代码更改,因而代码的复用性很高。因此为此牺牲
点效率还是很值得的。
思想上移
一直还都记得老师说过的坐飞机穿越森林的事情,目的在于
能够从宏观上把握整个事情的来龙去脉。如果你一头扎进去的
话,你猴年马月也估计很难理出头绪来。还记得第一次敲机房的
时候,由于没有学习软件工程、UML、设计模式,所以就是照葫芦
画瓢的过来了,就好比一头扎进森林一样,整个过程不仅很费时
间很长,而且心里上也很痛苦和烦躁,因为对眼前的事情没有头
绪,很迷乱。
因此三层的出现,也是为了解决这个问题,能够让我们对软件
的整体结构分析的很清楚,并且各个环节的改动都不会影响彼
此。
再仔细想一下,三层的出现也是必然的结果,大工厂生产的流
水线作业,不也正是三层的另一映射嘛,看来软件来自于生活的
各个方面。现在才真正的体会到编程是一门艺术这句话的真正含
义了。
原文地址:http://blog.csdn.net/luckyzhoustar/article/details/24598789