Skip to content
On this page

回顾和总结


总结和回顾

人们很容易将模式视为一种解决方案,或者说一种能够进行实际采纳及复用的技术。 相比之下,人们很难弄清其更为确切的核心 —— 即定义其能够解决的问题以及在哪些背景下才属于最佳解决方案。 总体来讲,大多数人都能弄清他人正在做什么,却不太了解这样做的理由 —— 而所谓“理由”对于模式而言正是其需要解决的主要问题。

理解模式的目标同样重要,因为这能帮助我们选定适合自己的模式,也能帮助我们理解现有系统的设计方式。模式作者必须弄清并定义该模式所能解决的问题,或者至少在将其作为解决方案之后做出进一步思考。

设计模式研习之禅

对于设计模式,我一向的观点就是设计模式如同一门武学,练就它,甚至超越它,都将让你一生受益匪浅。 而学习设计模式的过程,也就像修炼武学一样,需要循序渐进,才能融会贯通。

境界

古人有习武的几个境界。 初为手中有剑,心中无剑。 而后手中有剑,心中亦有剑。 继而手中无剑,心中有剑。 最后手中无剑,心中也无剑。

初学设计模式之人,就如刚入门的新学徒,先需要跟随师傅或参阅招式谱,勤加练习,得以学得武学之型,这就是练就手中有剑的过程。

当可以模仿其他样例使用设计模式之后,就要了解、深读设计模式的理论、概念,进而掌握武学的心法,这就是练就心中有剑的过程。

进而言之,再忘却设计模式之型,放下手中的剑,做到空手搏白刃,也就做到了灵活运用设计模式,而不再拘泥于型的境界。

那么这最高的境界,就是连设计模式也都忽略,将思想灌注于体内,就可随心所欲,并不计划去使用设计模式,而自己的设计却处处体现着设计模式。掌握了这样的高度,那就不再是设计模式的使用者,而是设计模式的创造者了。

结束语

总而言之,这本小册的目的并不是向大家提供一种设计模式实现的标准模板,而是希望大家通过 Laravel 代码中所使用的设计模式,领悟到设计模式的思想,并应运用于大家对程序的设计中去。