三层架构

三层架构,大家都熟悉得不得了。我现在也能张嘴就来,轻易就可以说出”三层架构”这4个汉字。可是,我真正理解了吗是个什么东西,分层架构好处在哪里/p>

20年前,在我刚出来打工的时候,就有三层架构了。但我并不理解,只拾人牙慧地当时髦术语吹,结果有一次与客户交流时就露怯了。我说啥啥啥这样,就是三层结构了,结果引起哄堂大笑。不学无术,竟至于此。

后来好像有了一些进步,知道了三层是哪三层。但其实,直至现在,我都说不清分层的意义。因此,有必要弄清楚这一基本架构,基本概念。

一、什么是层

层是可以划分出构成整体事物中,上下相互支撑的不同部分。软件架构中层的概念有如下特点:

1)层能够被单独构造
2)每层具有区别于其他层的显著特点
3)层与层之间能够互相连接,互相支撑,互相作用,构成一个整体
4)层的内部可替换成其他可工作部分,对整体影响不大

二、三层应用架构的发展

1、一层架构

3、三层架构

四、三层架构的优势

优点
1、解决了代码间调用复杂,代码职责不清的问题。使得项目结构清楚,分工明确,有利于后期的维护和升级。

2、层间定义接口,接口与实现分离,每层内的实现部分容易替换而不影响整体,降低了层间依赖

3、利于标准化

4、系统分层也有助于开发人员明确分工,提高生产效率

5、利于各层逻辑的复用(复用于其他项目)
  
缺点
1、降低了系统的性能。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
  
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

3、增加了开发成本。

以上优点都是从别的地方抄来的,人云亦云。如果照我自己的理解,分层架构,最大的优点应该是层间分工明确,每个层又相对独立,有利于编码、维护和升级。

据说计算机的所有问题,都可以通过添加虚拟层来解决。比如,某个操作与硬件对应,操作就与硬件耦合在一起了,情况有变,就非常被动。这时候,可以在操作命令与硬件之间增加一个虚拟层,操作着力于虚拟层的虚拟部件,再由虚拟层处理、转接到硬件。操作命令与硬件间多了一层中介层,变化就可以由这个中介层缓冲了。这不就是命令模式么。命令模式的作用,就是解耦。解耦的作用,就是方便作出调整。

我胡说的。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月11日
下一篇 2021年3月11日

相关推荐