Welcome to ErranLi's Blog!

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  106 Posts :: 1 Stories :: 97 Comments :: 0 Trackbacks

常用链接

留言簿(12)

搜索

  •  

积分与排名

  • 积分 - 172977
  • 排名 - 150

最新评论

阅读排行榜


学习设计模式,选定了三本书:

1. 设计模式精解 [美]Alan Shalloway & James R. Trott著
    很基础的书,没有全面介绍23种模式,但是比较好懂,已经看完了。

2.设计模式-可复用面向对象软件的基础      GOF
   公认的设计模式经典之作,不是很好懂,考验考验耐心吧,早些时候看了一半,就没看了,感觉收获很少,看完了第一本书后,现有捡起这本来从头看起,应该会有不少收获。

3.设计模式精解-GOF23种设计模式解析      一牛人写的手稿
   这个是某牛人深刻理解和实际应用GOF那一帮理论后,写的一个手稿,感觉很不错,已经看完了,现又看准备一遍。

   这儿准备记录些书中比较经典的文字,以及自己的些些理解。欢迎指正,共同探讨。

   1、懂了设计模式,你就懂了面向对象分析和设计(OOA/D)的精要。反之好像也可能成立。道可道,非常道。道不远人,设计模式亦然如此。
【排第一的当然是这一句了!道可道,非常道,顺便查了下这句话的出处老子《道德经》:“道可道也,非恒道也。名可名也,非恒名也。无名,万物之始也;有名,万物之母也。故恒无欲也,以观其眇;恒有欲也,以观其所徼。两者同出,异名同谓。玄之又玄,众眇之门。” 简单理解就是,“道”是可以意会的,但不可以言传。哈哈,感觉设计模式也是这样,往往只能由某个例子去通过“模式”的方法去解决某个问题,来说明模式的存在,在设计模式精解(第一本书里)最后几章,感觉作者是在拿着问题用一个一个的模式去套,违背了它的本意。正如下句所说:】

   2、设计模式体现的是一种思想,而思想则是指导行为的一切,理解和掌握了设计模式,并不是说记住了 23 种(或更多)设计场景和解决策略(实际上这也是很重要的一笔财富),实际接受的是一种思想的熏陶和洗礼,等这种思想融入到了你的思想中后,你就会不自觉地使用这种思想去进行你的设计和开,这一切才是最重要的。

   3、设计模式之于面向对象系统的设计和开发的作用就有如数据结构之于面向过程开发的作用一般,其重要性和必要性自然不需要我赘述。

   4、Scott Mayer 在其巨著《Effective C++》就曾经说过:C++老手和C++新手的区别就是前者手背上有很多伤疤。是的在软件开发和设计的过程中,失败、错误是最好的老师,当然在系统开发中,失败和错误则是噩梦的开端和结束,因为你很难有改正错误的机会。因此,尽量让自己多几道疤痕是对的。 

   5、面向对象系统的分析和设计实际上追求的就是两点,一是高内聚(Cohesion),而是低耦合(Coupling)。这也是我们软件设计所准求的,因此无论是 OO 中的封装、继承、多态,还是我们的设计模式的原则和实例都是在为了这两个目标努力着、贡献着。 

   6、写这些文章,本身没有任何功利的杂念,只是一个原生态的冲动,反而很轻松的完成了。有心栽花未必发,无心之事可成功,世间的事情可能在很多的时候恰恰就是那样了。【作者的心态很令人欣赏....】
   
   (1到6是择自设计模式手稿(第三本书))

   7、设计模式是针对特定场景下的特定问题的可重复、可表达的解决方案。它不限于面向对象。不限于设计阶段,甚至不限于软件开发领域。

   8、 从概念层次来看,一个对象是一系列的责任。 从规范层次来看,一个对象是一系列可以被其他对象或者该对象自己调用的方法。从实现层次来看,一个对象是一些代码和数据。

   9、一个分析的缺陷:过早对细节投入太多的关心。分析者可能共同存在一个问题:在开发过程中过早的投入了细节分析。这也很自然,因为细节上的问题总是很具体很容易的。细节上的解决方案通常很明显,但这未必是一个最好的起点。应该尽可能晚地投入细节中去。

   10、 设计模式源于建筑学和人类学。【延伸阅读著名建筑师Christopher Alexander的名著:The Timeless Way of Building,有中译本,已经看过,译本形如散文,很有意思。】

   11、最主要的一点就是封装变化的概念,这是许多设计模式的主题。发现并封装变化点。

   12、换句话说,如果变化点是问题领域中的特定的具体情况,共同点就定义了问题领域中将具体情况捆绑在在一起的概念。共同的概念将由抽象类来表现。而变化点分析发现的变化点将由具体类(使用特定实现的派生自抽象类的类)来实现。

   13、在创建设计以处理变化的过程中,应该遵循两条基本策略:
                     ·发现并封装变化点。
                     ·优先使用对象组合,而不是类继承。

过去,开发这常常依靠扩展继承来为这些变化点定位。但是,第二条策略告诉我们,应该尽可能尝试使用对象组合。其意图是可以在独立的类中包含变化点从而使未来的变化不会影响现在的代码。

6点了,要回了,下次接着写吧.......o(∩_∩)o...

posted on 2007-06-16 17:59 erran 阅读(1880) 评论(17)  编辑 收藏 引用 所属分类: Design Pattern

Feedback

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2007-06-17 15:58 songwei
设计模式精解-GOF23种设计模式解析 可以发一份给我吗?
song__wei@126.com
谢谢啦!  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2007-06-17 16:59 percy
设计模式精解-GOF23种设计模式解析也能发我一份吗?真的十分感谢,我的邮箱是percyqing@gmail.com  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2007-06-17 17:40 erran
邮件已经发出去了,查收....  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2007-06-17 19:14 likeme
你好,我是在校学生正准备学习设计模式。这三本书的电子版能给我发一份么,我的邮箱是zjj110@gmail.com,十分感谢。  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2007-06-17 20:37 songwei
邮件收到了,非常感谢:-)  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2007-06-17 21:34 kylin
你好,我刚毕业,正在收集整理资料。这三本书的电子版能给我发一份么,我的邮箱是 zrfeng.kylin@gmail.com ,百分感谢  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2007-06-18 09:19 jazz
我现在也在学,感觉只是有个概念而已
还要多学学 能发电子版的3本给我么?谢谢! zhhx_1984@163.com  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2007-06-18 09:19 volnet
volnet@tom.com
谢谢~
要一份《设计模式精解-GOF23种设计模式解析》  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2007-06-18 09:19 percy
邮件收到了,非常感谢lz的共享  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记[未登录] 2007-06-18 11:27 erran
邮件已经发出去了,查收....  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记[未登录] 2007-06-18 11:27 erran
设计模式精解-GOF23种设计模式解析 下载地址:
http://download.csdn.net/source/163898


设计模式精解 [美]Alan Shalloway & James R. Trott著
http://download.csdn.net/source/169490


设计模式-可复用面向对象软件的基础 下载地址,
http://download.csdn.net/source/170258  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2007-06-18 13:41 222
牛人的手稿发我一份 谢谢
zbing0203@163.com  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2007-06-18 14:51 erran
volnet :

不好意思。
:::

你发送到volnet@tom.com的邮件由于以下原因被退回 : 邮箱容量满

The message to volnet@tom.com is bounced because : Quota exceed the hard limit
  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2007-06-20 01:22 落花飘逸
姐姐全包了,全部给我,给一个星期的期限,到时候没收到你就惨了,HOHO  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2007-06-22 00:04 小不点
谢谢!给我发一份~~学习学习!  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2007-10-15 13:14 zxli2008@gmail.com
能不能发我一份 谢谢!

zxli2008@gmail.com  回复  更多评论
  

# re: 道可道,非常道。道不远人,设计模式亦然如此---设计模式学习小记 2008-11-30 10:13 牧云人
《Head First 设计模式》也是一本比较好的入门书籍。  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理