之前也一直有学设计模式,不过总是断断续续的,都是网上这里找点资料,那里找点博客这样学,在这个过程中也曾产出了<code>策略模式</code>、<code>单例模式</code>等博客记录。
但是这些学习过程,可能是由于直接进入设计模式,而没有先好好学习设计原则的缘故,导致学的快也忘得快。
根据刘伟老师的《设计模式》博客及书籍所说,设计模式常用的解释是这样的:
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。
一般来说,这种能被反复使用东西,总是会有那么一些规律存在,正是这些规律,才使得重用变成可能,而其中一部分规律,我暂且就理解为设计原则。
那么就像学会了、理解了设计模式可能让我们更好的理解面向对象,更好的进行开发设计一样,理解和掌握了设计原则,也能让我们更好的理解设计模式、更好的使用设计模式。
本来,依照一开始的计划,在本次《maven实战》的学习阶段性结束后,下一步应该是eclipse、svn、gradle之类的学习,但是考虑到这一次工作中spring+struts2+mybatis重构成springboot+jpa的开发中,设计层面实在是惨不忍睹,因此我对计划略作修改,决定现在开始先系统性的学习一下设计模式。
这一次的学习主要是依据《head first设计模式》和刘伟老师的《设计模式》以及博客开展,根据刘伟老师书中开篇的描述,设计模式一般般是这样的:
设计模式一般包含模式名称、问题、目的、解决方案、效果等组成要素,其中关键要素是模式名称、问题、解决方案和效果。
所以接下来的学习中应当紧紧围绕着这几个层面入手,力求每一个模式的这几个点都确实掌握并能适当的应用。