可能是重复问题:
C++程序员应该使用哪些C++惯用法?
在阅读了《C++ Primer》、《Effective C++》和《TC++PL》等书籍后,我想学习一些重要的设计模式。
那么,每个C++程序员都应该知道哪些著名的设计模式呢?
可能是重复问题:
C++程序员应该使用哪些C++惯用法?
在阅读了《C++ Primer》、《Effective C++》和《TC++PL》等书籍后,我想学习一些重要的设计模式。
那么,每个C++程序员都应该知道哪些著名的设计模式呢?
C++特定的两个技术:RAII和PIMPL。
SFINAE
添加到列表中。我知道它更像是一条规则而不是一个模式,但是这个规则本身的使用可以被称为一种模式。 - Mariusz Jaskółka显而易见的答案是来自著名书籍的四人帮设计模式。这些是到处列出的相同模式。
http://en.wikipedia.org/wiki/Design_Patterns
除此之外,浏览一下Martin Fowler的网站...这里有一些内容 - "依赖注入"可能是最著名的。其他大多数都是领域特定的。
"Mixin层"对于C ++来说可能很有趣。模板类将其自己的基类作为模板参数,以便可以将模板用于向许多不同的类添加相同的功能,或者作为组合方法,以便可以轻松地包括/排除库的各种功能。奇怪的递归模板技巧有时也会被使用(原始基类是最终完全组成的类),以便各种mixin层可以进行某种程度的"反射",从而可以根据完全组成的成员类型等定义中间方法。当然,如果不小心,它可能会有点容易出现无法解决的循环依赖。
http://portal.acm.org/citation.cfm?id=505148
以下是我最常见和使用的四人帮模式,排名不分先后:
我建议阅读《Head First设计模式》。这是一本有趣的书,你将学习很多常见的设计模式。