设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。
目前已经总结出的设计模式有23种,一些经典书籍对此已经有专门的阐述。粗看下来,让人很是头大。那么,作为一个程序员,应该如何学习这些设计模式呢?下面给出几条建议。
理解基本概念,再学习设计原则
在学习设计模式之前,程序员首先理解面向对象的基本概念,比如:封装、继承、多态、组合/聚合、依赖等。这些基本概念是学习面向对象设计的基础,只有在理解这些基本概念的内涵,弄清这些概念的具体实现方式及其优缺点之后才能更好地学习设计原则。
先学习设计原则,再学习设计模式
每种设计模式都反映了某种设计原则。所以掌握了设计原则可以更好地理解设计模式,知道怎么去应用设计模式,甚至是创造自己的设计模式。学习设计模式之前,要先学习设计原则。学习设计原则可以参考两本书:《敏捷软件开发》与《UML与模式应用》。
从责任分配角度学习设计模式
面向对象的原则就是一切都是对象。在设计模式中每个对象的职责都是明确的。所以,我们可以通过熟悉对各个类分配的职责来理解设计模式。
从重构到模式
设计模式是是基于实践总结出来的一套可复用的设计方案,如果只从书本中学习,是很难真正体会到它的妙处,所以程序员需要通过自己的实践,不断地对某个设计模式进行重构,才能对它内在的思想理解得更加透彻。
记住典型案例
学习知识,最重要的是把知识具化在某个具体的案例上。学习设计模式,在了解了书本中的那些知识后,程序员要能够通过类比、想象,把它与自己现实开发中的某个典型案例结合起来,这样才能获得对设计模式的感性认识。
从客户角度考虑如何使用
设计模式是帮助程序员更好地实现用户的需求。所以程序员在理解设计模式时,一定要从客户的角度去考虑是如何使用的。
这正是:
设计模式好东西,学习起来不容易
掌握基础多练习,联系实际作案例
参考书目:术以载道:软件过程改进实践指南,作者:任甲林,出版社:人民邮电出版社
联系客服