Software Design and Engineering 软件系统设计和工程化是一个相当大的领域,涵盖了从软件架构、设计模式、开发流程到项目管理等多个方面。 在这里,我会讨论以下内容: 软件设计哲学、原则,设计模式 大规模代码的组织 系统的架构设计、系统演进与重构 最佳实践、工程化、项目管理等 这个领域,并没有放之四海而皆准的黄金法则,也并没有唯一的解法,更多的是在不同情况下的经验总结和最佳实践。 这里,我阐述的是一些业界共识,以及我个人的理解,欢迎批评指正。