CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

设计模式

楼主bigban()2001-12-12 19:00:54 在 C/C++ / C语言 提问

天啊,我看设计模式这本书,如坠五里云雾中,请高手指点指点. 问题点数:20、回复次数:21Top

1 楼bbdragon(云梯)回复于 2001-12-12 19:22:55 得分 1

反复看,多实践,再反复看。  
  我完整的都看了4遍。好多东西在项目中也用到了,逐渐就有体会了。Top

2 楼bigban()回复于 2001-12-13 12:41:07 得分 0

to   bbdragon:举一些具体一点的应用例子好么?Top

3 楼gigix(透明)回复于 2001-12-13 13:13:38 得分 1

再来打一把广告:建议你看Design   Patterns   Explained,中译本将在明年三月左右,清华出版社推出。Top

4 楼ed9er(始祖鸟)回复于 2001-12-13 13:47:59 得分 0

个人认为那书对于编码量在1M以下,项目数在3个以下的人根本没用  
   
  Top

5 楼bbdragon(云梯)回复于 2001-12-13 16:05:21 得分 1

不同意楼上的观点。那本书同项目有什么关系。其实设计模式不一定要使你的程序更简单。  
  可能还更复杂,只是系统的灵活性更好。切记别硬套设计模式。别以为你在一个程序里用  
  的越多越好。如果你面向对象的设计到了一定程度,不自觉的就会在你的设计中使用了  
  一些设计模式。Top

6 楼cmzxlinhai(老头)回复于 2001-12-13 16:13:28 得分 1

我个人认为,把面向对象的原理搞清楚,关于复用技术就会有所了解,此书就能看得进去。Top

7 楼cber(cber)回复于 2001-12-13 17:17:36 得分 1

只会空谈DP是没有用的,不顾一切强行套用DP则是应当被摒弃的。  
  DP只有在自己开发的经验到了一定程度时,你才可能会产生强烈的共鸣。Top

8 楼bigban()回复于 2001-12-13 19:00:45 得分 0

虽然我在开发时也使用面向对象的技术,但总有这样的体会:等一个类设计完成之后,会在以后的应用中逐渐发现它的许多不足之处.想让自己有个提高,所以读DP,但总有啃不下来的感觉.Top

9 楼hahaha88(忧郁的眼神,稀嘘的胡子喳)回复于 2001-12-14 05:46:27 得分 1

有的时候如果你用的工具库就是用OO-DesignPattern写的话,那不管你的代码量  
  是大是小,可能都需要看看这本书中的概念  
   
  先使用别人用OO-DesignPattern封装的类库,一边用一边熟悉,这是一个捷径Top

10 楼gigix(透明)回复于 2001-12-14 08:54:41 得分 1

当你发现不足的时候,就对不好的地方进行重构。成功的重构通常会在最后形成一个设计模式。Top

11 楼bigban()回复于 2001-12-14 13:02:27 得分 0

不知大家能否结合实际应用谈一下心得Top

12 楼termite(★★★★★)回复于 2002-02-28 19:27:54 得分 1

如坠五里云雾中说明你对面向对象还不熟悉,先好好看LIPPMAN的书吧.Top

13 楼wlz47(秋水沉舟)回复于 2002-02-28 21:34:50 得分 1

你一定要对什么是多态,C++如何实现多态了如指掌才行,否则就回出现你所说的情况。  
  你可以先看看比较简单的模式,   我记得书的前言(?)里给出了6种比较简单的模式,先看这些吧Top

14 楼do_do(do_do)回复于 2002-03-01 08:10:14 得分 1

bbdragon(云梯)和cber(cber)说得非常好。我见过误用DP的远多过用好DP的。  
  你要感受它的思想不要生般硬套。更不要改变你的问题来fit某种模式。用错常比不用更糟。经验多了,水到渠成。Top

15 楼gigix(透明)回复于 2002-03-01 09:52:49 得分 1

关于设计模式更多的书籍,请看http://gigix.topcool.netTop

16 楼steedhorse(晨星)回复于 2002-03-01 10:52:57 得分 1

学习。Top

17 楼do_do(do_do)回复于 2002-03-01 11:26:41 得分 3

记得在其前言什么的(真正讲到模式前那部份)有两原则(rule   of   thum)。其中第二条大意是“favor   aggregation   over   inheritance”很有味。所谓“favor”即是在两者不相上下时总是选固定的某一个。如果你不仔细体会而将其理解为最好用“aggregation”取代“inheritance”会给你带来不少问题。那书上给的例子就很不恰当。视窗(window)本就不应该是一种(is_a,inheritance)长方形因为window不一定是圆的。再说了它不是(is_a,   inheritance)形状而该是“有形状”(has_a,   aggregation)。在现实生活中既可是一种(is_a)又可以是有一个(has_a)关系的两个类的例子不多。但写程序时则较常见。例如,栈(stack)和链表的关系既可以是“是一种”(栈是一种链表)也可以是“有一个”(栈有一个链表)。在这种情况下用“有一个”好些。Top

18 楼dong_f(Hahaha)回复于 2002-03-01 13:35:24 得分 1

只有做过软件设计,碰到过问题以后,才能理解“设计模式”。  
  必须“实践”。  
   
  否则,对“设计模式”提出的问题都很难理解。Top

19 楼zheng_can(nothrow)回复于 2002-03-03 03:06:59 得分 1

设计模式是绝对的好书,我看过了一次,觉得深有体会Top

20 楼magicblue(小飞侠)回复于 2002-03-03 11:01:52 得分 3

to:dong_f(Hahaha)  
  未必。理解和应用之间还差不少呢~~  
   
   
  我认为设计模式实际就是设计原则的应用方案(我想是类似于提示的方案,完全照搬是很糟糕的,这个大家也都说了:)),在把握了设计原则的情况下,对模式也就比较好理解了。象do_do说的继承与聚合的问题,选择继承只有在完全满足IS-A的关系下,其他ALMOST-IS-A,HAS-A都用聚合。而且还要具体分析,比如在C++中正方形就不是一个长方形,呵呵Top

21 楼bigban()回复于 2002-03-16 11:07:50 得分 0

不好意思,年前的贴子到现在才结,而且分数很少.在此谢谢大家.Top

相关问题

  • 设计模式------书?????
  • MVC设计模式
  • 关于设计模式
  • 设计模式的讨论
  • 讨论facade设计模式。
  • 设计模式问题?
  • 设计模式一问
  • 求书 -- 设计模式
  • 设计模式Sigleton之问
  • 设计模式之Prototype

关键词

  • c++
  • 设计模式
  • 面向对象
  • 模式
  • 应用
  • dp
  • 设计
  • 书
  • aggregation
  • 例子

得分解答快速导航

  • 帖主:bigban
  • bbdragon
  • gigix
  • bbdragon
  • cmzxlinhai
  • cber
  • hahaha88
  • gigix
  • termite
  • wlz47
  • do_do
  • gigix
  • steedhorse
  • do_do
  • dong_f
  • zheng_can
  • magicblue

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo