C++ c+的详细学习+;设计模式

C++ c+的详细学习+;设计模式,c++,design-patterns,oop,C++,Design Patterns,Oop,谢谢你宝贵的时间 我想学习C++设计模式。我在网上搜索了一下,但并没有找到能提供关于设计模式更好细节的文档。我得到了详细的细节,但那些是在不同的URL,我要求所有信息在一个地方,这样,将更好地了解什么东西都是在C++设计模式下。 以下是我在学习设计模式时必须做的事情: 为什么我们需要C++设计模式< /LI> 什么是设计模式 它们是如何分类的(我指的是我们可以说的概述) 在实现这些模式时采用良好的方法 设计模式的利弊 设计模式中的新特性 请大家向我推荐包含上述几点的好东西。还建议我,是否有任

谢谢你宝贵的时间

我想学习C++设计模式。我在网上搜索了一下,但并没有找到能提供关于设计模式更好细节的文档。我得到了详细的细节,但那些是在不同的URL,我要求所有信息在一个地方,这样,将更好地了解什么东西都是在C++设计模式下。 以下是我在学习设计模式时必须做的事情:

    为什么我们需要C++设计模式< /LI>
  • 什么是设计模式
  • 它们是如何分类的(我指的是我们可以说的概述)
  • 在实现这些模式时采用良好的方法
  • 设计模式的利弊
  • 设计模式中的新特性
请大家向我推荐包含上述几点的好东西。还建议我,是否有任何好的论坛可供设计模式

谢谢你的建议


-Pravin

设计模式通常不特定于一种语言,因此我建议您使用谷歌特定的设计模式,如中介模式、门面模式等。。。有23种基本模式

实际上,这取决于你对一个计划的意图,以及你决定的模式。有很多好书详细讨论了现实生活中的每种模式


阅读google books的原著《设计模式:可重用面向对象软件的元素》进行深入讨论。

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


然而,模式的实现通常是特定于语言的。我发现Alexandrescu的书《现代C++设计》非常有趣,他看到了他如何使用C++模板来实现模式的通用版本,如SuntLon、Suto等。

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

文斯·休斯顿有一个粗略的网站。。。但是它清楚地说明了C++中GOF书中提到的所有设计模式的实现。 :)

每个模式都有几个部分:

  • 姓名(感谢Lou指出:P)
  • 意图
  • (它解决的)问题
  • 结构概要(带有一个漂亮的图表)
  • 讨论
  • 结构(略图)
  • 范例
  • 检查列表(以便您知道何时应用它)
  • 前/后(查看其实际操作)
  • 经验法则(与其他模式的比较、差异原因、组合方式)

这是非常完整的,也是一个非常有用的参考,尽管一旦你摸索了一个模式,你应该能够自己想出一个实现,甚至在混合中扔模板:

为什么你想学习C++设计模式?@ FrdodoFLUV:是的……经过技术文档之后,我就知道了,设计模式是一个常见的概念……我认为C++中的一些主题是不同的(实现方式)不要忘记“名字”——这是最重要的部分。这个名字有助于传播思想,让人们更容易谈论。@Lou Franco:对,没有一个合适的名字,剩下的只是一堆信息:)@Lou Franco和@Matthieu M.-你不能在简历上放一堆信息,但你可以放“合适的名字”-它非常有用:)