“All models are wrong, some models are useful” ——George Box没有放之四海皆准的好与坏的标准。下面我对于衡量软件架构好坏的AAA原则:可考核(Accountable):好的软件架构让每个团队都有自己负责的业务目标可自主(Autonomous):好的软件架构让每个团队都一定的自主性可以独立往前跑,而不总是被其他团队阻塞可复用(Amortized):好的软件架构鼓励对未来投资,使得基础设施的成本可以被摊销可考核>>可自主>可复用。在上世纪90年代,代码复用是面向对象社区的热门话题。然后SOA和DDD又来告诉我们“可自主”才是最重要的。但是我发现实践中,无论是“可自主”还是“可复用”都很模棱两可。很难用这两个原则去说服其他人,用X的方式来分解问题会比用Y的方式来分解问题
………………………………