论什么是软件架构?
架构的核心内容是什么?
架构的原则(Objectives)
总体原则
从架构的角度看(下面箭头方向),推荐的架构原则
-
(1) 面向变化设计
-
(2) 面向风险设计
-
(3) 模型化 + 可视化(这是为什么mvc经久不衰的原因,它同时满足了两个要求)
-
(4) 面向进化设计
架构的过程
架构不是一个东西(not a thing, not a tool),它是一个最优路径规划和设计的过程。
-
(1) 组织过程。 它为团队成员(stakeholders)提供沟通桥梁。
-
(2) 早期决策,架构价值的重要体现。
好的架构表现
-
(1) 测试的完整性,满足质量要求
-
(2) 安全。
安全的竞争壁垒的保障,属于“守”的一方。
- (3) 满足性能能要求。
架构必须满足时空要求
- (4) 用户友好
使用者友好,满足人类情感要求,至少不排斥。
- (5) 可扩展
潜在的满足时空要求
- (6) 可维护
使异常可控制, 满足内部安全性要求。