设计模式是什么?
它是一套理论,由软件界的先辈们总结出的一套可以反复使用的经验,它可以提高代码的可重用性,增强系统的可维护性,以及解决一系列的复杂问题。做软件的人都知道需求是最难把握的,我们可以分析现有的需求,预测可能发生的变更,但是我们不能控制需求的变更。问题来了,既然需求的变更是不可控的,那如何拥抱变化呢?
设计:你可以理解为站在思想的角度
模式:你可以理解为可复用的东西
连起来就是,设计模式就站在思想的层面,专门解决某一类重复发生问题的解决方案。
设计模式的意义
如果你通晓了这23种设计模式就不同了,你可以站在一个更高的层次去赏析程序代码、软件设计、架构,完成从代码工人到架构师的蜕变。
学习设计模式的境界
我觉得学习设计模式有三种境界
第一重: 你学习一个设计模式就在思考我刚做的项目中哪里能用到(手中有刀,心中无刀)
第二重: 设计模式你都学完了,但是当遇到一个问题的时候,你发现有好几种设计模式供你选择,你无处下手(手中有刀,心中也有刀)
第三重:也是最后一重,你可能没有设计模式的概念了,心里只有几大设计原则,等用到的时候信手拈来(刀法的最高境界:手中无刀,心中也无刀)