我的架构思想(五十一):附录 3.1.1

阅读数:16 2019 年 10 月 16 日 15:05

我的架构思想(五十一):附录 3.1.1

附三:超越软件架构——组织与架构 <1 什么是领域角色的关注 >(你在哪里?你是谁?在做什么?)

作为一个系统的组成部分,如果要观察这个系统,那么就必须清楚三个问题:你在哪里?是谁?在做什么?从这个系统中别出了“我”,才能分出“其他”,才能分清“我与其他”之于系统间的种种不同影响,从而把这个系统分析透彻。大多数人在做这样的分析的时候,忘记了观察者是“观察—被观察”系统中的一个组成部分,忘掉了“我”的位置,因而少了一半的观察。

《大道至简》这本书通过“工程层状模型”(EHM),从“实现者”这一角色出发,并论及 “团队”和“经营”角色。但是——如同上面的问题一样,EHM 模型将这些角色析别出来的时候,也少了一半的观察。举例来说,“实现者”是程序员,“被实现者”是程序,在《大道至简》中却甚少论及程序的本质。又举例来说,“团队”的组成是项目成员,要真正成为“团队”则还有赖于项目目标,在《大道至简》中也只讨论到成员问题,而少掉了对约束或设定目标的那些角色的思考。至于“经营”角色,也存有相似的问题。

反思“工程层状模型”(EHM)的本质,是在讨论一系列工程相关问题在一个轴向上的延伸变化,以及这个轴向的不同领域间的关系。如图附 3-1 所示。

图附 3-1 EHM 图及其隐含着的轴向

我的架构思想(五十一):附录 3.1.1

然而这个轴向带来了一个致命的问题:难于承载新的领域角色的加入。换言之,层状模型中加入新的角色就会带来新的分层与界面(关注点),这暗示着该模型下的世界是一对一的、面对面的。这个问题使得我在 2006 年间陷入了一个困境,不知该如何将“架构师”这个角色放入到这个模型中去。一旦我尝试在 EHM 模型中为架构师加入一个领域或一个层次,EHM 立即就崩溃了——无法再解释清楚。

其实原因就在于,EHM 对问题少掉了一半的观察。

评论

发布