初识软件架构之(一)三层架构宏观认识

名词了解:

1、软件架构:(摘自:什么是软件架构?

 架构:是在组件,彼此间和与环境间关系,引导设计发展原则中体现的系统的基本结构。[IEEE 1471]

这些标准还定义了以下相关概念:

 组件:是包括内容的系统模型部分,且它的显示是可替换的。组件定义了所需接口的行为。例如,组件类似类型(type),它与所需接口行为一致[UML2.0]

 系统:是为实现某个(些)特殊作用的组件的集合。专用系统包括个人应用,传统概念上的系统,子系统,系统中的系统,产品线,产品系列,整个企业和其他利益集团。一个系统是为了实现一个或多个任务而存在。[IEEE 1471]

 环境:决定了开发,操作,策略和其他影响系统的设置和条件。[IEEE 1471]

 任务:是指系统为了实现对对象设置的使用或操作。[IEEE 1471]

 涉众:是对于系统有利益关系或关注的个人,团队或组织。[IEEE 1471]

小结:正如大家所见,架构关注的更多的是结构和行为。在意的是重要元素的组织、受环境的影响,充分考虑平衡涉众需求,存在于系统之中,而且它可以符合一个样式,也就是说可以有模板。下面让我们进入经典三层架构的世界吧!

三层架构:

先看——》宏观导图(王继兵讲三层导图总结)

初识软件架构之(一)三层架构宏观认识_第1张图片

导图说明:

通常我们讲三层都是从逻辑的角度来说的,三层也是从传统的二层发展而来。

下图是从物理的角度来分的三层、二层结构:

初识软件架构之(一)三层架构宏观认识_第2张图片

通常来说物理上的划分和逻辑上的划分有着以下的对应关系。

(物理:)客户机=用户界面=(逻辑上:)UI(user interface)

(物理:)应用服务器=应用逻辑=(逻辑上:)BLL(business logic  layer)+DAL(Data Access Layer)

(物理:)数据库服务器=数据库=(逻辑上:)DB 

如何形象理解三层?看下图

初识软件架构之(一)三层架构宏观认识_第3张图片

对应关系如下:

初识软件架构之(一)三层架构宏观认识_第4张图片


  饭店将整个业务分解为三部分来完成,每一部分各负其责,服务员只管接待顾客、向厨师传递顾客的需求;厨师只管烹炒不同口味、不同特色的美食;后勤工作人员只管提供美食原料;他们三者分工合作共同为顾客提供满意的服务。在饭店为顾客提供服务期间,服务员、厨师、后勤工作人员,三者中任何一者的人员发生变化时都不会影响其他俩者的正常工作,只对变化者进行重新调整即可正常营业。

我们用三层结构开发的软件系统于此类似,表示层只提供软件系统与用户交互的接口;业务逻辑层是表示层和数据访问层之间的桥梁,负责数据处理和传递;数据访问层只负责数据的存取工作。

总结:以上对于什么是架构、为什么用三层,什么是三层做了宏观上的一个剖析。后续文章将和大家继续深入三层架构的原理研究和实战(三层登陆Demo)及其注意事项。博客持续更新中……

你可能感兴趣的:(●架构,&,设计,&,界面)