设计清单,帮助你在设计完成后,确认自己的设计是否理想,合适。

#设计实践

  • [ ] 你是否进行过迭代,选择多次尝试中最好的设计而不是第一次尝试就选定了设计?
  • [ ] 你是否尝试过多种不同的方式 拆解 系统,并确认那种方式最好?
  • [ ] 你是否通过使用了自上而下自下而上 的方法处理设计问题?
  • [ ] 你是否对系统中存在的风险或不熟悉的部分进行了 实验原型制作,用以回答特定的问题并使用了最少的一次性代码?
  • [ ] 你的设计是否已经被其他人正式或非正式的审查过?
  • [ ] 你是否已经将设计推进到了实现起来显而易见的程度
  • [ ] 你是否使用 记录了你的设计工作

#设计目标

  • [ ] 设计是否充分解决了在架构级别确认并推迟的问题?
  • [ ] 设计是否有对系统进行分层?
  • [ ] 你对于系统拆分为子系统,Packakge 和类的方式是否满意?
  • [ ] 你对于类进一步拆分成函数的方式是否满意?
  • [ ] 设计是否有限制类之间的交互数量,并达到最少?
  • [ ] 设计是否让子系统和类可以在未来复用到其他的系统中?
  • [ ] 设计是否让程序易于维护?
  • [ ] 设计是否精益(Lean)?它的所有部分都是必要存在的吗?
  • [ ] 设计是否使用了标准的方案,并避免了外部的,难以理解的元素的使用?
  • [ ] 总体而言,该设计是否有助于最大程度的减少 本质和意外的复杂性