2010-10-16 163 views
9

感谢您宝贵的时间。详细学习C++设计模式

我想学习C++设计模式。我在网上搜索,但我没有收到文件,这些文件给了我更多有关设计模式的细节。我得到了很好的细节,但是这些细节都在不同的URL中,我只需要在一个地方提供所有信息,以便知道C++设计模式下的所有东西会更好。

下面是我需要的东西,而学习设计模式:

  • 我们为什么需要C++设计模式
  • 什么是设计模式
  • 他们是如何分类的(我的意思是概述,我们可以说)
  • 实现这些模式的好方法
  • 优缺点设计模式
  • 新功能s的设计模式。

请大家建议我包括上述几点好东西。另外建议我,有没有什么好的论坛可用于设计模式。

感谢您的建议!

-Pravin

+0

http://en.wikibooks.org/wiki/C++_Programming – Anycorn 2010-10-16 07:28:28

+0

为什么你想学习C++设计模式? – fredoverflow 2010-10-16 10:26:40

+0

@FredOverflow:是的......在阅读技术文档后,我得知道,设计模式是常见的概念......我认为C++中有些主题是不同的(实施方式) – pravin 2010-10-19 07:16:13

回答

6

Vince Huston有一个粗略的网站......但它整齐地说明了所有设计在C++中的GOF书中提到了模式。

Check it out :)

每个模式呈现几个部分:

  • 名(感谢娄指出来:P)
  • 意图
  • 问题(它解决)
  • 结构概要(附图)
  • 讨论
  • 结构(有一个粗略的示意图)
  • 例如
  • 检查表(让你知道什么时候运用它)
  • 前/后(看到它在行动)拇指
  • 规则(与其他模式比较,为什么它们不同,它们如何组合)

它非常完整并且非常方便的参考,尽管一旦您创建了一个模式,您应该能够想出一个实现一切由你自己,甚至在模板中混合:)

+0

不要忘记“名称” - 这是最重要的部分。这个名字有助于传播这个想法并使其易于讨论。 – 2010-10-18 23:07:06

+0

@Lou Franco:对,没有一个正式的名字,其余的只是一堆信息:) – 2010-10-19 07:07:25

+0

@Lou Franco和@Matthieu M. - 你不能在你的简历中放一堆信息,但你可以把'专名' - 这非常有用:) – ra170 2011-02-03 18:11:03

0

设计模式是一般不专门针对某一语言,所以我建议你谷歌具体的设计模式,如调解模式,外观模式,等等......有23种基本模式。

真的,这取决于你对程序的意图,你决定了什么样的模式。有很多好书,详细讨论每种模式与现实生活。

请仔细阅读谷歌有关原书“设计模式:可重用面向对象软件的元素”的书籍,以供深入讨论。

0

我完全同意JD的观点,许多有价值的设计模式都不是特定于语言的。

但是,模式的实现通常是语言特定的。我发现Alexandrescu的书“现代C++设计”非常有趣的,看看他如何使用C++模板来实现的模式,如单身,游客等

0

在以前的问题,我遇到了sourcemaking,至少在这里,有一个很好的基本设计模式(和反模式)的概述。我不知道1个完整的设计模式概述,所以我想,我会在这里检查一个更好的答案...