可能重复:
What C++ idioms should C++ programmers use?
在阅读了C++ Primer、有效的C++和TC++PL等书籍之后,我想学习一些重要的设计模式。
那么,每个C++程序员都应该知道哪些著名的设计模式呢?
发布于 2010-07-20 04:47:51
显而易见的答案是“四人帮”的名著。这些都是同样的模式,被列出各地各地。
http://en.wikipedia.org/wiki/Design_Patterns
再看看马丁·福勒的网站..。
http://martinfowler.com/
有相当一部分--“著名的”之一可能是“依赖注入”。不过,其他大多数都是相当特定的领域。
"Mixin“对于C++来说是很有趣的。模板类以自己的基作为模板参数,以便模板可用于向许多不同类添加相同的功能,或用作组合方法,以便库中容易包含/排除各种特性。有时也会使用奇怪的重复模板技巧(原来的基是最终的完全组合类),这样不同的混合层可以进行某种程度的“反射”,这样中间方法就可以定义为完全组合的成员类型等等。当然,如果您不小心的话,它可能会有一些无法解决的循环依赖。
http://portal.acm.org/citation.cfm?id=505148
注意--“原始基类”并不意味着继承的原始基类,因为它会导致非法的继承周期--它只是一个模板参数,用于引用、访问最终结果中的类型/常量/等等,或者用于元编程反射技术。
老实说,在这一点上,我不知道当我写"base“时是否感到困惑,或者只是选择了一个令人困惑的词。
发布于 2010-07-20 05:07:59
C++-特定的: RAII和PIMPL。
发布于 2010-07-20 04:42:02
读。
https://stackoverflow.com/questions/3287052
复制相似问题