架构设计到底是什么?

Posted 架构之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了架构设计到底是什么?相关的知识,希望对你有一定的参考价值。

在长期的技术招聘面试中,我发现在很多人眼中,架构就是分层,架构设计就是“三层架构”(或者四层、五层...反正分层越多就说明项目越复杂而且架构就越牛),或许是受到诸如PetShop之类的示例项目的影响。

之前已经纠正过很多人的误解-架构不只是软件架构。
说一下通俗点的理解:

软件架构就是实用而且优雅的设计,它不在于分多少层,或者应用了多少种设计模式/架构模式等。

它应该是以满足实现用户需求为前提,以开发人员普遍可接受为根本的,而且要符合系统特性和业务发展需要的。

从软件设计的角度,能够达到层次清晰、可维护、可重用、可扩展...就非常优秀了,无需刻意去纠结分了多少层,是否使用了什么模式,有多么抽象等。 以面向对象设计为例,基本目标是“高内聚、低耦合”,为此我们可能会遵循一些常见的设计原则(例如经典的SOLID设计原则)。

最后纠正一点,通常我们所说的模式,其实又分为很多种,并不是仅仅指的是“设计模式”(设计模式也有千千万,并不是只有常见的GOF 23种设计模式)。

通常包括:企业架构模式、设计模式、SOA模式、企业集成模式等。

强调 一下,架构要讲求“实用”,而且开发人员普遍可接受,要符合现状的。否则,再“优雅”的设计,都会沦为高成本的“花架子”,生搬硬套和过度设计只会让项目“流产”。




-   关注“架构之美”   -


以上是关于架构设计到底是什么?的主要内容,如果未能解决你的问题,请参考以下文章

架构师成长之路:到底啥是架构设计?该如何理解架构设计?

阿里彻底拆中台了!大厂架构设计所追求的到底是什么?

到底如何区分什么是架构框架模式和平台 ?

业务架构设计迭代演进思路

系统架构设计时到底要不要采用微服务架构?

从概念到底层技术,一文看懂区块链架构设计!