Software Design and Engineering

软件系统设计和工程化是一个相当大的领域,涵盖了从软件架构、设计模式、开发流程到项目管理等多个方面。

在这里,我会讨论以下内容:

  • 软件设计哲学、原则,设计模式
  • 大规模代码的组织
  • 系统的架构设计、系统演进与重构
  • 最佳实践、工程化、项目管理等

这个领域,并没有放之四海而皆准的黄金法则,也并没有唯一的解法,更多的是在不同情况下的经验总结和最佳实践。

这里,我阐述的是一些业界共识,以及我个人的理解,欢迎批评指正。