1.3 架构思维模式
在很多关于架构的学习资料中,架构思维模式的重要性经常被提及。简单来说,思维模式就是我们思考问题时所处的层级。架构设计毫无疑问是一项需要创造性的活动,许多问题往往需要架构师在不同的思维层级上进行灵活切换,以便从各个角度去加深对问题的了解,从而更透彻地理解问题,并通过架构设计来落地实现。
本书将架构思维模式大致分为三层。
第一层是专业层,指的是架构师能够利用架构专业或领域提供的规则(通常表现为具体的技术),去解决架构设计问题。例如,DDD、面向对象、应用架构、数据架构,以及中间件技术都属于专业领域范畴。
第二层是模型层,即架构师能够通过抽象出来的模型或模式解决同一类架构设计问题,例如上面提到的架构知识模型,以及后面将要介绍的价值模型、企业模型、TOGAF双飞轮模型等。
第三层是本质层,即借助底层思维模式来洞察架构问题的本质,并运用跨学科知识综合解决问题。
程序员在成长为架构师的过程中,通常会在第二道关卡停滞不前,即便已经掌握了丰富的架构知识和架构落地方法,但在面对复杂系统的架构设计时仍然缺乏信心,或者需要频繁地对设计方案“打补丁”,甚至推倒重来。
实际上,架构的真正难点通常不在于技术层面,而在于理解业务的本质,并将业务问题与最适合的技术进行匹配上。因为技术往往只是问题界定后使用的工具,而我们更欠缺的是对问题的界定和对业务的整体性认知。因此,在遇到这个关卡时,我们需要注意思维能力方面的提高。
在专业、模型、本质这3个思维模式层次中,尽管每个层次都提供了一些解决问题的规则,但是规则的数量显然随着层级的降低而减少,专业层级的规则最多,而本质层级的规则最少。规则越少,呈现的力量反而越大。
事实上,我们都很熟悉现实世界中底层规则的力量。例如,在瓦特蒸汽机出现之前,人类数百万年来一直依靠体力劳动来获取生存所需的能量。然而,一旦“化石燃料可转化为动能”的规则被发现,人类就迅速进入工业革命时代,并开始以惊人的速度取得进步。这就是底层规则的力量。
因此,只有在思维模式上进行持续提升,我们才能更容易洞察业务和问题的本质,并在应对复杂系统的架构设计时游刃有余。