软件架构指软件系统的顶层结构。
架构设计的主要目的是为了解决软件系统复杂度带来的问题。
设计具备良好可扩展性的系统,有两个基本条件:正确预测变化,完美封装变化。
预测变化的复杂度在于:
不可能每个设计点都考虑可扩展性
不能完全不考虑可扩展性
所有的预测都存在出错的可能性
低成本给架构设计带来的主要复杂度体现在,往往只有创新才能达到低成本的目标。
优秀程序员和架构师之间的鸿沟是不确定性。对于架构设计来说,本质上是不确定的。
架构设计三原则,合适原则,简单原则,演化原则。
合适优于业界领先。
简单优于复杂。
演化优于一步到位。
架构方案评审维度:性能,复杂度,硬件成本,可运维性,可靠性,人力投入
网友评论