引言:架构师的思维
一个人太不切实际,我们称之好高骛远;一个人有眼界视野,我们称之高瞻远瞩。同样是高、远,为何描述着两种完全不同的人?因为前者的好、骛讲的都是追求,而后者的瞻、瞩,指的却是具体的行动。当我们把高远的目标只作为一种追求,而不付诸于实践的时候,就是不切实际;当我们把它变成“时时顾看”这样的行动时,我们就渐渐地变得有眼界视野了。
所以志存高远并没有错,只是要切忌不务实。这里的“着眼于高远”,便是 架构师的基本修养 ,而几乎所有的架构思维,都从这修养中来。
就架构来说,“高”就是指空间上的可拓展性,即系统的复杂性是否可以通过组成部件的增减来解决;“远”就是指时间上的可持续性,即系统的规模是否可以划分为多个时间阶段来实施。以软件架构为例,在讨论系统——这一架构目标的属性时,架构师可能关注的话题包括性能、可用性、可靠性等十余种,我们可以通过高、远两个维度的思考将它们大致地分类,如图 1 所示 1 2 。
图 1 对架构师可能关注的话题的分类
如果我们说,这样的图是没有意义的,因为它对一个工程的具体实施毫无意义,那么这是项目经理的思维;如果问这样的图是如何以及用什么样的工具做出来的,又或者讨论填以什么样的颜色更为漂亮,那么这是程序员的思维。但是,如果我们问:在这个图的形成中,我们做了什么?那么,这就是 架构师的思维 了。
如上这些谈论,总的来说包括了修养与思维这两个方面。其论述为:
- 我们做了一个语言文字中的高、远与架构思维中的高、远的比拟;
- 我们对架构思维中的高、远进行了明确的定义;
- 我们将既有的架构方法置于上述定义,并尝试消化其中的冲突;
- 我们确定上述思维的结果,是一种架构产出;
- 我们通过对比找出几种思维模式的差异,并确定上述过程,即是架构师的思维;
- 我们通过回顾这一过程,证明架构思维过程的有效性:产出上述的架构。
在上面,我们反复地运用架构思维,得到了两个主要的架构产出,其一是“架构师的基本修养”,其二是“架构师的思维过程”。在这个过程中,不同阶段我们使用了不同的思维工具,如表 1 所示。
表 1 架构师在思维过程中使用的工具
任何一个优秀的架构师都有自己独特的思考方式,这决定了他如何抽象系统,以及如何“创造性地”设计与构画这个系统。例如,我们一直在讨论的“架构思维”——这样一个内在的系统与规则都是未可知的新东西。对此我们没有现成的、成熟的词汇去描述它,因而必须构建一个抽象系统,或映射或重现这个“架构思维”,进而阐述清楚它的架构与逻辑。
在这个过程中,我们需要三种能力:概念抽象能力、概念表达能力和基于概念的逻辑表达能力。我们已经展示了概念抽象能力,即上述步骤中的 第 1~3 步
;概念表达能力,即图 1 与表 1;概念的逻辑表达能力,即上述步骤中的 第 4~6 步
,以及至此你所看到的全部过程。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论