看了几天设计模式,有没有人来指点一二,看看我理解的是否正确

tcige 2011-11-20 07:08:31
0.市面上几乎没有新的用c++的设计模式书,其实无所谓,至于原因,我想很大程度上是因为垃圾回收

1.strategy:继承变组合

2.observer:mfc中的document/view

3.decorator:类似atl中CComObject的做法

4.factory/abstract factory:类似IClassFactory

5.singleton:没什么好多说的,技巧

6.command:类似IConnectionPoint::Advise

7.adapter:com中的containment
facade:mfc就可以看成是一个facade

8.template:mfc中的虚函数

9.iterator:类似IConnectionPoint::EnumConnections
composite:树形结构

10.state:去掉switch/case

11.proxy:com中跨apartment的proxy/stub
...全文
230 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcige 2011-11-25
  • 打赏
  • 举报
回复
leftover

1.bridge:strategy复杂化

2.builder:整体部分

3.chain of responsibility:类似CFrameWnd::OnCmdMsg

4.flyweight:类似CHandleMap::FromHandle

5.interpreter:command+composite

6.mediator:com中的proxy/stub通过channel通信

7.memento:类似IStorage::CreateStream

8.prototype:类似IEnumConnectionPoints::Clone

9.visitor:leftover中的leftover
alpha.5 2011-11-22
  • 打赏
  • 举报
回复
Daisy__Ben 2011-11-22
  • 打赏
  • 举报
回复
没有设计模式哪来MFC ATL COM 顶起!
lgstudyvc 2011-11-22
  • 打赏
  • 举报
回复
牛,学的真透阿! 看的我面红耳赤............
tcige 2011-11-22
  • 打赏
  • 举报
回复
decorator不对,atl那个纯粹是模板的技巧

还是书上beverage的例子恰当
yuucyf 2011-11-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 gold_water 的回复:]
其实这玩意 就像练武功 最高境界就是无招 所谓的见招拆招吧
设计模式如果生搬硬套的使用,很可能会成为负担.
[/Quote]
曾经生搬硬套过,up.
gold_water 2011-11-21
  • 打赏
  • 举报
回复
其实这玩意 就像练武功 最高境界就是无招 所谓的见招拆招吧
设计模式如果生搬硬套的使用,很可能会成为负担.
Eleven 2011-11-21
  • 打赏
  • 举报
回复
路过~来看浆糊牛人大哥的
oldmtn 2011-11-21
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 chenjiawei007 的回复:]

呵呵 很多人都是在学习设计模式的过程中,放弃了自己的想法。
[/Quote]

可以预想到。

不过你自己的想法有可能就没人家的好。。毕竟是经验总结
W1nds 2011-11-21
  • 打赏
  • 举报
回复
设计模式都讲的是些什么东西额
chenjiawei007 2011-11-21
  • 打赏
  • 举报
回复
呵呵 很多人都是在学习设计模式的过程中,放弃了自己的想法。
noodle123 2011-11-21
  • 打赏
  • 举报
回复
感觉楼主说的挺正确的——不经常使用的路过接分。
宰相孙悟空 2011-11-21
  • 打赏
  • 举报
回复
设计模式,我也在学啊,求大牛指导。
tcige 2011-11-20
  • 打赏
  • 举报
回复
6楼果然浮躁,我看应该去旅游的是你,好像很了解我一样

csdn已经很久没来了,难得几个月来发次帖,碰到这种人

我什么水平我自己清楚,你不想回答就不要回答

还是那句话,不要以为你很行,很行的话你不会还在中国
redui 2011-11-20
  • 打赏
  • 举报
回复
楼主应该去旅游一趟,心态调整一下,无论发帖还是回帖,从不是把自己当做学生,而是把自己当做考官,提问不像是为了获得解答,好像是为了证明什么……

可能楼主确实很强大,我看最好的方式,别去瞎猜别人写书或不写书的原因了,自己写一本书出来,一切问题都解决了,还能造福大众。
smwhotjay 2011-11-20
  • 打赏
  • 举报
回复
tcige 2011-11-20
  • 打赏
  • 举报
回复
3楼太浮躁了,话都看不清,不过比1楼、2楼强

我说垃圾回收,是new了之后可以不用考虑引用计数/delete,所以写书简单

我是用c的,设计模式暂时只能理解到这了,麻烦具体说说哪几点牵强
redui 2011-11-20
  • 打赏
  • 举报
回复
垃圾回收算哪门子的设计模式,顶多是语言的一个特性,跟设计完全是两回事,设计是语言无关的。
有些对应太牵强了,强行对应只会让自己的思维受限。真要理解设计模式,最终还得看它是用来解决什么问题的。对于问题的解决,不同语言实现的难易程度不同,或者说,不是所有的设计模式都适合所有的语言。
gibsonboy 2011-11-20
  • 打赏
  • 举报
回复
市面上关于面向对象的设计模式书籍非常多
http://www.amazon.cn/s/ref=nb_sb_noss?__mk_zh_CN=%E4%BA%9A%E9%A9%AC%E9%80%8A%E7%BD%91%E7%AB%99&url=search-alias%3Daps&field-keywords=%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F&x=0&y=0
关键是看能力和理解到了那一步了,看这个书才能一目了然。
  • 打赏
  • 举报
回复
关键是如何运用

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧