在《设计模式之禅》
一书中,秦小波前辈写到:“它是一套理论,由软件界的先辈们总结出的一套可以反复使用的经验,它可以提高代码的可重用性、增强系统的可维护性,以及解决一系列的复杂问题”
。也就是说,我们开发人员的前辈曾遭遇过相同的问题,也顺利地使用各种方案解决过这些问题,然后他们把这些解决方案总结成了经验,也就是23种设计模式。
在《Head First 设计模式》
一书中写到,使用模式最好的方式是:“把模式装进脑子里,然后在你的设计和已有的应用中,寻找何处可以使用它们”
。以往是代码复用,现在是经验复用。也就是说,我们首先要搞清楚设计模式的含义、适应性和优缺点,然后在实际应用场景中付诸实践。这是最基本最简单的使用方式。
但是,设计模式不是简单的学会拿来用就可以了。秦小波前辈在书中写到”设计模式不是工具,它是软件开发的哲学它能指导你如何去设计一个优秀的架构,编写一段健壮的代码,解决一个复杂的问题“
。也就是说,当我们学会了如何直接拿来用的基础上,要以其为指导思想,要去深入思考,要站在更高的层次去赏析程序代码、软件设计和架构,甚至自己设计出一套设计模式。
在我看来,设计模式可以用以下几句话来概括:
1、设计模式是前辈的经验,俗点来讲是一些套路。
2、如果说6大设计原则是口号,那么23种设计模式则是落地的实践。
3、学会设计模式的第一层次是:精通每一种设计模式的含义、适应性和优缺点,然后直接应用到实际开发中。
4、学会设计模式的第二层次是:以6大原则为基础,以23种设计模式为指导思想,去分析代码、软件设计和架构,能够加入自己的想法,优化这些模式或者创造新的模式。
5、这一点有点瞎**了,那就是能够思考如何用更简单的语言让人们更加容易地学会设计模式这一门艺术。