设计模式从本质上说是一种规则,软件设计的方法,运用设计模式增加代码的复用性,可维护性。
关于设计模式的What,How,When,Why:
What
就是软件设计方法。在软件设计中,不可避免的要遇到一些设计上的问题,比如,有很多代码需要重复的写,比如代码维护比较困难,这个时候呢,某一些人,针对不同的问题总结了一套很好的方法能够很好的解决相应的问题,这一系列的方法就是“模式”。
How
1.原则
减少模块之间的耦合程度
2.种类
When
在学习它们(设计原则和模式)的时候,请记住,敏捷开发人员不会对一个庞大的预先设计应用那些原则和模式。相反,这些原则和模式被应用在一次次的迭代中,力图使代码以及代码所表达的设计保持干净。--Martin
Why
使用设计模式的目的是为了适应未来的变化,变化之所以存在是因为它的不可预知性——如果可以预知,则不能称其为变化。如何判断哪些需求可能变化,哪些需求可能不变,并且在最大程度上保持设计的干净、简单,这是些工艺问题,而不是工程问题。既然是工艺问题,那么就只能给出原则,不能给出标准。使用设计模式的大体原则可能是:对未来极有可能发生变化的问题给出最简单、修改成本最低的解。