三层中的大学问


   近期也进展到了三层的学习,看了一些三层的相关的资料,


才逐渐的认识到三层的概念。

   

  当初没看之前,在学习软件project的时候,就曾设想过一个项目


的流程也应该大致的包含三部分:需求分析、业务逻辑处理、数


据库。而当面对三层的时候,才恍然大悟。这不就是三层的影子


吗?三层究竟是何方神圣呢。以下先看一副图片。


 


  

  大家设想一下。我们寻常去饭店吃饭的场景,前脚刚进去,


服务员就笑嘻嘻的来迎接你,把你点的菜肴,交给头大的伙夫,


伙夫通过后勤人员提前准备好的菜。来做出美味的佳肴,最后再


次通过服务员反馈给你。

  


   想一下。这三个人少一个,整个流程的服务效率就会大大的


下降,就会使整个流程变得杂乱无章。这与我们的三层的是一个


道理,以下就一一揭晓三层。

 

    表示层(User Interface)

    

    所谓的表示层,就是用户接触的界面,用来为用户提供服


务的数据,比如我们常常所见的注冊和登陆界面

 

  

    业务逻辑层(Business LogicLayer)

     

    从名字中就能够看出,就好比一个中转站。一个加工厂,把


用户提供的数据,经过逻辑上的加工后或者保存到数据库中。或


者直接在返回用户。起着承上启下的作用。刚好搭建了表示层和


数据訪问层之间的桥梁。

 

  

    数据訪问层(Data Access)

      

    仅实现对数据的保存和读取操作。

就好比仓库管理员的工


作。实现对仓库的货物情况进行整理。


 

    为什么会有三层?

      

    可能我们会想,不是两层就OK了嘛,干嘛非得多出一个数据


訪问层呢。

让用户直接与底层的数据联系不是更有效率吗?这样


想是没有错误的。真正三层的目的,是把软件开发任务分解,有


利于团队合作开发;软件的适应性增强,一旦有什么需求变动可


以非常快的进行代码更改,因而代码的复用性非常高。因此为此牺牲


点效率还是非常值得的。


  

    思想上移

      

    一直还都记得老师说过的坐飞机穿越森林的事情,目的在于


可以从宏观上把握整个事情的来龙去脉。假设你一头扎进去的


话,你猴年马月也预计非常难理出头绪来。还记得第一次敲机房的


时候,因为没有学习软件project、UML、设计模式,所以就是照葫芦


画瓢的过来了。就好比一头扎进森林一样。整个过程不仅非常费时


间非常长,并且心里上也非常痛苦和烦躁。由于对眼前的事情没有头


绪,非常迷乱。

     

   因此三层的出现。也是为了解决问题,可以让我们对软件


的总体结构分析的非常清楚。而且各个环节的修改都不会影响彼


此。


   再细致想一下,三层的出现也是必定的结果。大工厂生产的流


水线作业。不也正是三层的还有一映射嘛,看来软件来自于生活的


各个方面。如今才真正的体会到编程是一门艺术这句话的真正含


义了。  



  


 

   

      


   


原文地址:https://www.cnblogs.com/wzzkaifa/p/7149095.html