架构、框架、设计模式,对于搞IT的人来说,再熟悉不过了。那么它们三者有什么联系?又有什么区别呢?

架构: 架构是几个动词,是一个方法论,包含一系列活动过程和步骤。可以联想一下架构师,大数据架构师、软件架构师、首席架构师等等,他们的工作职责,就是根据自己的知识(方法论),通过一系列的步骤,去构建一套框架。

框架: 框架是一个架子,是一个名词。用于解决或者处理复杂的问题,框架的搭建需要架构方法论的指导。如果搞得懂架构,就能理解框架。

设计模式: 在一定环境中,解决某一类问题的方案。例如Gang of Four合著提出的设计模式,提供了软件开发过程中面临的一般问题的最佳解决方案。学习这些模式有助于经验不足的开发人员通过一种简单快捷的方式来学习软件设计。

总的来说: 设计模式 > 架构 > 框架。如果硬要用一个比喻的话,我们可以用房子来打个比方。设计模式的概念比较宽泛,可以理解为非常简单的道理,如:房子不能修在低洼(因为容易被水淹);海边修房子要面朝大海(因为可以宣传海景房多卖钱);别墅要修在山腰(因为风景好空气也好)等等。架构就是修房子的所有规划,比如我们要开发一个别墅盘,那这个盘的架构师,需要考虑具体修在哪里,朝向,户型,施工期限,价格等等因素。最后是框架,这个就简单理解为用钢筋搭好造型,水泥和红砖往里面添就行。