除了功能和性能外,可维护性也是软件开发关注的一大重点,因为任何有价值的软件系统都处于不断迭代的过程中,迭代就意味着变化,例如功能扩展、系统移植等等。而软件开发成本巨大,如何应对变化就成了一门大学问。
设计模式就是为了应对变化,它是面向对象软件设计的精髓,每一种设计模式都描述了在我们周围不断重复出现的问题以及解决该类问题的最佳方案。
虽然大多数书本上只讲解典型的23种设计模式,但设计模式作为工程经验的产物绝对是不断发展变化的。
本系列文章以设计模式的类图为核心,随着项目经验的丰富,将为每种设计模式逐步添加案例分析和使用心得分享。