什么是架构
架构实际上是人类生产生活过程中,遇到了具体问题,针对该问题做定义,划分问题边界,做分析,分解,拆分子问题并约定每个拆解部件的职责及各部件间交流规则并且每个部件相互协作形成一个整体共同完成系统目标
因此架构一定解决的人的问题
认识概念是理解架构的基础
每个概念其实背后都代表了某个具体问题所对应的解决方案。概念也是充当了交流媒介。
根据架构的定义,要做好架构所首先必须具备的能力,就是能够正确的认识概念,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题,这样才能够为做好架构打好基础。
通过认识概念及概念背后所代表的问题去认识新的系统往往事半功倍。它使得对概念理解更加深刻,理解问题域也更快
识别问题(需求)
体现架构师水平的关键能力之一是识别问题。这里的问题一定是人的问题,就是架构最终所服务的客户。明确了是谁的问题,是什么问题就轻松多了。
明确是谁的问题可以帮助明确问题边界。
架构拆分
架构拆分实际上是利益的拆分。
在识别问题及问题背后的利益相关人后,就明确了系统边界及利益相关人(stakeholder)。当某个stakeholder负载太重(责任),就会拆分,因此拆分后,会形成一个树状结构。而拆分原则必须确保责任,权利(利益)对等。因此就会产生组织架构的拆分。
每个问题拆分为子问题后,子问题仍然可以拆解,就会产生分层。分层尽量越少越好。且树应该尽量平衡。