Topic: GOF<<design patterns>>读后感,请各位评 |
Print this page |
1.GOF<<design patterns>>读后感,请各位评 | Copy to clipboard |
Posted by: haibo Posted on: 2004-05-24 10:54 刚仔细研读了preface 和 他的那个“案例研究“和"abstract factory" 有以下感触: 真正理解了面向对象思想的特性 1。多态 2。继承 3。封装 感觉到"abstract factory“ (这个“模式“)是怎么推出来。 “广义上说,其实代码没有好坏之分,只有是否更易于扩充之说“ 面向对象的技巧:面向接口编程 “系统先有责任,后来才有担当责任的对象产生,因此各人划分的责任不同,最后出来的对象也可能不同(条条道路通罗马)“ 请各位批评一下。。 |
2.Re:GOF<<design patterns>>读后感,请各位评 [Re: haibo] | Copy to clipboard |
Posted by: wes109 Posted on: 2004-05-24 11:17 就感了这么点? 楼主等于没说 |
3.Re:GOF<<design patterns>>读后感,请各位评 [Re: haibo] | Copy to clipboard |
Posted by: ConnorLv Posted on: 2004-05-24 15:38 这么经典的书,感慨这么几句就完了! GOF都给你气死了! |
4.Re:GOF<<design patterns>>读后感,请各位评 [Re: haibo] | Copy to clipboard |
Posted by: haibo Posted on: 2004-05-24 18:00 其实读了这么点,我就有一种不想继续读的感觉,因为我觉得“程序本来就应该这样写“,只不过是Gof把它反映出来了 |
5.Re:GOF<<design patterns>>读后感,请各位评 [Re: haibo] | Copy to clipboard |
Posted by: floater Posted on: 2004-05-24 23:31 Hehe, I have the same feeling. patterns are 乾坤大挪移, OO principles are 九阳神功. Without 九阳神功, it's hard to get 乾坤大挪移.
|
6.Re:GOF<<design patterns>>读后感,请各位评 [Re: haibo] | Copy to clipboard |
Posted by: wes109 Posted on: 2004-05-25 08:56 haibo wrote: 老大,你也太牛了,偶对你的敬佩之情,犹如江水滔滔。。。 Gof的设计模式本来就是对前人经验的总结,还是重构也是 不过,不想继续读的感觉从来没有过,这本书一年多来一直躺在我枕边 经常拿起来翻翻 初读设计模式晦涩难懂 再读设计模式略有所得 又读设计模式倍感神清气爽,为其机巧所折服 回头再看 什么设计模式,什么OO,什么重构 并不是什么了不起的技术,大道致简,“本来就应该这样嘛”(让我想起那个哥伦布立鸡蛋的故事) 推而广之,这个世界上有多少是很了不起的发现? 但你发现了你就了不起,用心而已 文章本天成,妙手偶得之 注意:是妙手。。。 不是靠狗X运 原来这种发现需要深厚的功底和经验积累,不是谁随便睡睡觉就可以发现一种化学元素,叫:苯 所以说:学习和理解OO的思想,运用设计模式到实践中去,不断的去玩味,才能真正做到挥洒自如,才能有所提高,有所发现,才能有妙手! 下次我们再碰到楼主的时候就可以说:楼主英明,大师风范,内外皆修! |
7.Re:GOF<<design patterns>>读后感,请各位评 [Re: wes109] | Copy to clipboard |
Posted by: haibo Posted on: 2004-05-25 09:46 wes109 wrote: 其实我不想读的原因有两条:
要看模式,不如直接看他的“示例代码”为好,不接受它的“招数”的推理。 以上仅是个人愚见,请各位评评。 |
8.Re:GOF<<design patterns>>读后感,请各位评 [Re: haibo] | Copy to clipboard |
Posted by: wes109 Posted on: 2004-05-25 10:34 haibo wrote: 动机 -----推理-----> 实现(代码实例) 道不觉得他的推理过程有什么不好,过程本来就是发现问题-->分析问题-->解决问题 之所以不接受想来是因为已了解 对于最终的使用来讲,中间的过程的确不再重要 发现问题 ---> 分析 --->寻找到合适的模式 ---> 按模式实现 但这叫照搬! 照搬可以做好,但无法做到完美,要创意更难 新的问题不断出现,需要新的模式,中间的过程就变得非常重要 当然,这些事可能轮不到我们,自有那些大师去做 像我们这些普通人,普普通通的程序员,只要把口张好,张得大大的 等着那些大师把模式做好了扔出来,呶,接着 只要快速的用口叼住就好了 haibo wrote: 一个人的观点就叫个人观点,是不是愚见重要吗? 成长是一个过程,只要去思考了就好 回头看看,我们都会发现自己曾经犯了那么多可笑的错误 一个人不可能完美,但要去追求完美 追求完美就是不断改进自己 改进自己就需要发现错误,改正错误 连错误都不敢犯,怎么去改进? |
9.Re:GOF<<design patterns>>读后感,请各位评 [Re: haibo] | Copy to clipboard |
Posted by: haibo Posted on: 2004-05-25 11:17
依据OO原则行事,就会写出适合你自己项目的好代码来,这些好代码可以称 做自己的“模式“。
“大师“门有他们的“模式“,我们有适合我们我们自己的好“模式“。 |
10.Re:GOF<<design patterns>>读后感,请各位评 [Re: haibo] | Copy to clipboard |
Posted by: wes109 Posted on: 2004-05-25 12:53 我一辈子都糊涂,做的最明智的事就是回复wes109的帖子 wrote: 此模式非彼模式也 因为,模式它有一定的标准。。。 |
11.Re:GOF<<design patterns>>读后感,请各位评 [Re: haibo] | Copy to clipboard |
Posted by: zyzhang Posted on: 2004-05-25 17:56 The benefit i got from the design patterns is that they are encourage me to be aware and respect the OO principals on the design of the complex product. The ideas behind the design patterns are related to the design consideration of extensibility, resuability, and etc. These design elements are important when you build complex product from scratch. Refactoring is XP term, and integrate in the daily development cycle of software process. Good refactoring can result in design patterns(if you can recognize them). This is XP way to compliment the lack of design consideration when you directly go into the coding. So, Refactoring and design patterns are related, and they all are derived from the OO Principles. Most of the current development environment are built on the high levle of well-known framework. Generally, you give little consideration on the low level design consideration, all you effort are focus on the understanding of the framework and implementing business logic. So, in this case, few design patterns are fall into the developers' eyes. Design patterns actually help me a lot in the past year. They help me be more sensitive on the problem context and consider using pattern to build the structure of related objects, even though sometime, it's better to make your own variation on the design pattern, but the idea is essentially the same. Also, design patterns are good communication method for the team. I can imagine, one can ignore the design patterns if you have strong and deep understanding on the OO Principals, also you have good abstract ability and some best practices in your mind.but most of us are not, design patterns instead give us good description on the solution of the common problems. ...... |
12.Re:GOF<<design patterns>>读后感,请各位评 [Re: zyzhang] | Copy to clipboard |
Posted by: haibo Posted on: 2004-05-26 10:35 zyzhang wrote: 昨晚花了我较长时间,读了你的这篇回复和你以前的一篇和floater的交流--“design patterns and refactoring"。 首先,我对您严谨的发帖原则表示尊敬,这确实是当前cjd论坛法帖典范,对一个问题的充足说明足见作者的郑重。 回去后,我重新细读了第一个模式abstract factory,作者确实给出了一个demo和详细地说明, 我只是觉得如果让我来解决这个MazeGame的problem的话,我可能有我自己的解法,也许用到了这个所谓的“abstract factory" 模式的"半条腿”,但是这样的解法却也遵循OO princple,当然随着extend这个解法,可能会形成一个完整的"abstract factory". 如果从来没有可能去用到这“半条腿”,突然去接受这个“整个家伙”,却觉得不自然,没有经历的问题,没有深刻理解他的巧妙 之处的人,也不可能在实际开发中实践应用它的“机会”。 所以我说这本书的“推理过程”不够好。 再一个就是我说的“先出现接口,后出现实现责任的对象”之说。 面对一个新的project,我们首先可能想象到的就是我们的“目标应用”--程序,要为我们作些什么, so 我们定义一些接口,随之在一步一步的细化时,我们可能寻找一个对象来充当这个责任,继儿也就出现了对象,随后定义这个对象需要完成这些操作而需要持有的数据,相应的在细化完整个系统之后,完整的BMD(Business Module Diagrame) 就随之浮现。这是个由最高级的抽象到最底层的实现的过程。 题外话:这种想法很符合现实,举个例子:想开个公司,你需要一个经理人,你定义个“接口”,凡是 满足这个接口的人就可以来应聘,这个对象也就出现了,他所有的“知识”就相当于类的“数据成员”,继而也就确定了,同样经理人再去聘人来组织一个公司,当然,你不用关心这些细节,你--“总裁”(软件中相当于客户)只要关心一个人做的事,那就是--“经理”。你不应该直接去找公关小姐,秘书,职员,主任,这些“现实”的人,你找来了也未必会适合“经理”的要求,经理也就未必会做出你期望的事情,而此时,你连你希望的事情是什么都不全面--多么可怕 话说回来,MazeGame确是不同的,wall,door,room实体类一开始就冒出来了,显然已经hardcode了好多东东。 这就是我说它的“颠倒”的思维方法。 但是,总体而言,并不因为这些小缺点而影响它正部书的不错。我觉得整部书的模式一上去对一个经验不多的人像我,就取读,去接受,会束缚思想,认识不到它的巧妙之处, 也就形不成“自己的东东”。在你思考了好久之后,突然的看看它,会觉得灵机突现,会认识到它的精深,这样才会“挥洒自如,游刃有余”。 |
13.Re:GOF<<design patterns>>读后感,请各位评 [Re: haibo] | Copy to clipboard |
Posted by: sankxuan Posted on: 2004-05-26 21:24 我觉得很奇怪,有时候接口是在重构中不断的抽象出来的, 你看看test driven development这本书,还有martin 的重构 ,你只所以这样说,我只能猜测你的面向对象的设计 经验不足 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |