提高Design Pattern的学习效率一法:利用重构

原创 2004年10月14日 16:44:00

有很多朋友学设计模式,都知道这是个提高功力的东西,但如何去学一直没有特别好的方法,学的不错的,能把几乎所有的模式的类图画出来,而且能把其间的关系将的头头是道,学的迷糊的,可能各个模型之间的区别都分不太清楚,但究竟怎样才能把这些图彻底消化掉,变有招为无招呢?我自己也不例外,记着刚学设计模式的时候,看那本经典的《design pattern》,好容易看明白了,脑袋里只有那些类图了,但怎么去实践呢?匆匆写几个看似符合pattern的例子,有用吗?好像没有效果。当然,最直接的办法是设计一个项目,想办法把这些pattern用进去,看似不错的一个程序。。。。。然而没有用,这并不能真正变为自己的东西,因为软件开发过程其实是先有图纸,后去买材料,而不是先有砖瓦再考虑设计什么样的房子。但在学习的开始,你并没有足够的能力去设计一张能充分利用砖瓦的图纸出来。怎么办? 我个人觉得对自己以前代码进行重构(Refactoring),效果会相对比较好~~重构的过程是自我批评的过程,它往往比批评别人困难,但一个好处是你对它熟悉,从中抽象出来一些模式进行refactoring,呵呵,也许这本身就是战胜自我的过程吧。

这个过程最重要的是忘却,忘掉那些该死的不能体现pattern本意的名字,甚至类图也不用有什么印象,学习模式的唯一目的是让那种自己最原始的想法是高效的、可扩展的,管他叫什么模式,Builder和Abstract Factary 有本质界限吗? 都忘了就对了,唯一的原则是进行合理的抽象,只要你的设计颗粒度合理,最终的效果不错,钱源源不断的挣到手 就成了 ^_^

怎样应用思维导图提高学习效率?

思维导图可以是一种思维方式、一种记忆方法,和我们传统的直线记录发完全不同,以直观平铺展开的方式,建立各个概念会见的关联,并加以管理。以MindManager为首的一系列思维导图软件便是我们的学习外挂。...
  • michelle121
  • michelle121
  • 2017年06月05日 10:14
  • 548

三款提高学习效率的软件

1.程序快捷打开助手——launchy有了它你使用电脑工作的效率提高3倍,不是夸张哟,这是我使用它一年来的经验。2.工作列表提醒——todolist记事的一个小软件,随时随地记录一切重要的任务分配,按...
  • flicker_522
  • flicker_522
  • 2011年06月13日 12:08
  • 581

java设计模式大全 Design pattern samples in Java(最经典最全的资料)

Design pattern samples in Java.Build status:IntroductionDesign patterns are formalized best practice...
  • changemyself
  • changemyself
  • 2015年06月19日 13:10
  • 10336

深度学习(四十九)Tensorflow提高代码效率笔记

最近在自己从头到尾利用tensorflow写深度学习相关算法的时候,发现自己写的出来的模型,训练速度很慢,比caffe慢了n多倍,所以就查找了一下tensorflow官网,编写代码、提高效率,需要注意...
  • hjimce
  • hjimce
  • 2017年02月21日 19:11
  • 2493

几本Design Pattern的书

大话设计模式设计模式--基于C#的工程化实现及扩展(china-pub 首发) First head Design Pattern设计模式之禅...
  • tuwen
  • tuwen
  • 2011年03月06日 11:51
  • 978

Design Pattern----Behavioral Patterns

Behavioral Patterns可以分为两类设计模式:Behavioral Class Patterns(行为类模式)和Behavioral Object Patterns(行为对象模式)。 B...
  • ccsu_001
  • ccsu_001
  • 2014年09月10日 16:55
  • 1865

Proxy Design Pattern 代理设计模式

代理设计模式,这个模式很多用于服务器客户端之类的,上网也经常使用代理之类的,想起来感觉是很复杂的,不过这个设置模式本身是很简单的。 就是一个类调用另外一个类的函数,客户调用的是一个类,而实际的工作是由...
  • kenden23
  • kenden23
  • 2014年07月13日 09:22
  • 1133

如何正确学习并提高学习效率?

我们在考试或是面试之前通常都会做一些相关知识的准备工作(搜集知识点并记忆下来),但是有时候这个准备工作我们却做的不那么好,总是状况连连,比如,拿着书本or文档看了半天,觉得这些概念都很熟悉,但是合上书...
  • wdong_love_cl
  • wdong_love_cl
  • 2016年07月30日 11:32
  • 968

C++版的Head First Design Pattern

       前 些天从sourceforge上down下一个C++版的Head First Design Pattern,一直都没有仔细看过,也不知道HeadFirstDesignPattern是一...
  • iinel
  • iinel
  • 2007年11月16日 10:13
  • 1579

设计模式之---单例模式(Singleton Design Pattern)

场景 对象只要利用自己的属性完成了自己的任务.那该对象就是承担了责任。 除了维持了自身的一致性,该对象无需承担其他任何责任。 如果该对象还承担着其他责任,而其他对象又依赖于该特定对象所承担的贵任...
  • u010878994
  • u010878994
  • 2016年04月26日 01:19
  • 583
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:提高Design Pattern的学习效率一法:利用重构
举报原因:
原因补充:

(最多只允许输入30个字)