返回介绍

引言:架构师的思维

发布于 2024-12-15 22:42:25 字数 2122 浏览 0 评论 0 收藏 0

一个人太不切实际,我们称之好高骛远;一个人有眼界视野,我们称之高瞻远瞩。同样是高、远,为何描述着两种完全不同的人?因为前者的好、骛讲的都是追求,而后者的瞻、瞩,指的却是具体的行动。当我们把高远的目标只作为一种追求,而不付诸于实践的时候,就是不切实际;当我们把它变成“时时顾看”这样的行动时,我们就渐渐地变得有眼界视野了。

所以志存高远并没有错,只是要切忌不务实。这里的“着眼于高远”,便是 架构师的基本修养 ,而几乎所有的架构思维,都从这修养中来。

就架构来说,“高”就是指空间上的可拓展性,即系统的复杂性是否可以通过组成部件的增减来解决;“远”就是指时间上的可持续性,即系统的规模是否可以划分为多个时间阶段来实施。以软件架构为例,在讨论系统——这一架构目标的属性时,架构师可能关注的话题包括性能、可用性、可靠性等十余种,我们可以通过高、远两个维度的思考将它们大致地分类,如图 1 所示 1 2

图 1 对架构师可能关注的话题的分类

如果我们说,这样的图是没有意义的,因为它对一个工程的具体实施毫无意义,那么这是项目经理的思维;如果问这样的图是如何以及用什么样的工具做出来的,又或者讨论填以什么样的颜色更为漂亮,那么这是程序员的思维。但是,如果我们问:在这个图的形成中,我们做了什么?那么,这就是 架构师的思维 了。

如上这些谈论,总的来说包括了修养与思维这两个方面。其论述为:

  1. 我们做了一个语言文字中的高、远与架构思维中的高、远的比拟;
  2. 我们对架构思维中的高、远进行了明确的定义;
  3. 我们将既有的架构方法置于上述定义,并尝试消化其中的冲突;
  4. 我们确定上述思维的结果,是一种架构产出;
  5. 我们通过对比找出几种思维模式的差异,并确定上述过程,即是架构师的思维;
  6. 我们通过回顾这一过程,证明架构思维过程的有效性:产出上述的架构。

在上面,我们反复地运用架构思维,得到了两个主要的架构产出,其一是“架构师的基本修养”,其二是“架构师的思维过程”。在这个过程中,不同阶段我们使用了不同的思维工具,如表 1 所示。

表 1 架构师在思维过程中使用的工具

任何一个优秀的架构师都有自己独特的思考方式,这决定了他如何抽象系统,以及如何“创造性地”设计与构画这个系统。例如,我们一直在讨论的“架构思维”——这样一个内在的系统与规则都是未可知的新东西。对此我们没有现成的、成熟的词汇去描述它,因而必须构建一个抽象系统,或映射或重现这个“架构思维”,进而阐述清楚它的架构与逻辑。

在这个过程中,我们需要三种能力:概念抽象能力、概念表达能力和基于概念的逻辑表达能力。我们已经展示了概念抽象能力,即上述步骤中的 第 1~3 步 ;概念表达能力,即图 1 与表 1;概念的逻辑表达能力,即上述步骤中的 第 4~6 步 ,以及至此你所看到的全部过程。

  1. 这些话题引自Software Architecture in PracticeEvaluating Software Architectures: Methods and Case Studies 与 Java Web Services Architecture,但这里不讨论这些话题是否完整或者必须——这与“如何思维”没多少关系。同样的原因,不必讨论该图是否划分得准确,或是否正确地将某些特性置于交集中。
  2. 制作类似图例以表达思维结果,也是架构师的基本能力之一。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文