
提起设计模式,几乎无人不知,无人不晓,但是设计模式是个大脑腐,是一种设计思想,不依赖于任何编程语言,很早就想掌握常用的设计模式及其思想了 ,最近有时间决定系统的研究一下,根据《图解设计模式》一书来的,做些笔记及自己的理解。
学习设计模式的目的
通过了解设计模式没我们可以知道在哪些情况下应当使用哪种设计模式。再编程时,如果能够预测到系统中的某处可能发生什么样的变化,然后提前在系统中使用合适的设计模式,就可以帮助我们以最少的修改来应对需求的变更。
接口化编程,加深对接口的重要性和使用方法的理解。
编写可复用的代码。
学习设计模式的方法
1.了解设计模式,可以通过书籍也可以通过网上优秀的资源等。
2.动手体验设计模式,编写实例程序,观察运行结果,仔细感受代码。
3.在项目中实践,当认为时机成熟时,可以尝试在项目中使用,遇到阻力时,再学习解决阻力。
4.总结经验参与讨论。
UML
我以为,在学习每个单独的设计模式时,都是以示例去分析理解的,而通过示例以某种设计模式完成的具体代码是若干个类和接口或抽象类完成的,这时候不管是为了更好的理解类之间的关系,还是提高对目标设计模式的记忆都应该熟练掌握设计模式,不说熟练掌握,最起码UML的类图要能看懂,最主要的也就是继承、实现、依赖、聚合、合成等。 还有时序图,
如何回答”什么是xxx设计模式?”
阅读具体的实例程序有助于理解答案,但是并非只有这段特定的代码是xxx模式,重要的是! -> 再这段代码中有哪些类和接口,他们之间的关系。
设计模式如同电影一样,类和接口这些”角色”之间进行各种各样的交互,共同演绎一部精彩的电影。在每种设计模式中,类和接口被安排扮演各自的角色。各个类和接口如果不能理解自己所扮演的角色,就无法深入理解整体剧情。
设计模式的分类
之前零星的查阅多关于设计模式的资源,在Gof中,设计模式的分类如下:
创建型设计模式
Abstract Factory模式; Builder模式; Factory Method模式; Prototype模式; Singleton模式;
结构型设计模式
Adapter模式; Bridge模式; Composite模式; Decorator模式; Facade模式; Flyweiget模式; Proxy模式;
行为型设计模式
Chain Of Responsibility模式; Command模式; Interpreter模式; Iterator模式; Mediator模式; State模式;
….
不过,这次再学习后, 不太一样,分类有区别。但我以为这也更方便记忆。 那么就正式从下篇开始了,这就当个序了。




近期评论