Skip to content

设计原则

在软件工程多年的历史发展中,人们积累了丰富的软件设计经验。其中一些经验成为指导后来者的金科玉律,但是,时代在发展,过去的经验需要随着时代的变迁进行革新。

从需求到维护,设计原则贯穿软件生命周期的每个阶段:

  • 需求分析——基础需求保底、刚需成交、亮点需求溢价,需求分层决定设计投入的优先级
  • 宏观指导——康威定律等宏观规律,架构设计与组织结构的关系
  • 质量属性——软件质量属性的全景框架(-ilities),各属性的定义与权衡
  • 可读性与可维护性——可读不等于可维护,过度抽象是两者的典型冲突
  • 可靠性与可用性——可靠不能错,可用可以错但必须马上纠正
  • 职责分配——迪米特法则、TDA、GRASP,谁该负责做什么
  • 简化原则——KISS、DRY、YAGNI,避免过度设计
  • 重构——不改变外部行为的前提下改进内部结构
  • 敏捷开发——不追求第一天完美,追求十年内可修改
  • 领域驱动设计——业务领域知识到代码结构的映射