书是好书,但是不适合你现在看。
就我的理解来看,所谓设计模式,就是前人总结的经验。举个例子吧:
最早人们计算1-100的累和是一个个加起来慢慢算的,到后来,有人发现 1+99和2+98……的结果一样,那么只需要计算50+100*50就可以得到答案了,再后来,某个牛b的人(据传是高斯……)发现,我只需要让一个正序的1-100加上一个逆序的1-100,和除以二,也就是101*100/2也能得到最终结果。
那么例子里边提到的三种方法都是解决这个计算问题的办法,只是综合计算成本来看,最后一种成本最低而且效果最好。所以最后一种办法就是目前情况下最受推荐的解法了。
设计模式也是如此,前辈们也用过很多”很笨“的办法写代码,再后来发现了一些小技巧能够让代码更易读/更易拓展/更易维护等等……,再后来,有大牛总结出这些代码结构的规律,将它写成一种种的模式,我们只需要根据实际的应用场景套用就可以了。
所以,设计模式本质上是一种思想而不是工具。这也是我不建议你现在看的原因:
因为如果你写的代码很少,或者代码的实际逻辑很简单的话,很难体会到其中的精妙,因为设计模式大多在不断变得复杂的项目中使用。如果你只是写个小Demo,小App,用上它也没啥实际感觉。
毕竟如果你没有在计算1-100累和的过程中备受煎熬的话,很难想象到会有正序+逆序/2这样的方法,以及这种方法带来的便利