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