在阅读了C ++ Primer,Effective C ++和TC ++ PL之后,我想学习一些重要的设计模式。
那么,每个C ++程序员应该知道的着名设计模式是什么?
答案 0 :(得分:23)
C ++ - 特定的:RAII和PIMPL。
答案 1 :(得分:19)
显而易见的答案是着名书中的四人帮模式。这些是在整个地方列出的相同模式。
http://en.wikipedia.org/wiki/Design_Patterns
除此之外,请浏览Martin Fowlers网站......
那里有一点点 - “着名的”可能是“依赖注入”。不过,大多数其他人都非常具体。
“Mixin layers”对C ++来说很有意思。模板类将其自己的基础作为模板参数,以便模板可用于向许多不同的类添加相同的功能,或作为组合方法,以便可以轻松地为库包含/排除各种功能。有时会使用奇怪的重复模板技巧(原始基础是最终完全组合的类),因此各种mixin层可以做一定程度的“反射”,因此中间方法可以用完全组合来定义成员类型等。当然,如果你不小心,它可能有点容易出现无法解决的循环依赖。
答案 2 :(得分:10)
没有特别的顺序,我看到和使用最多的四人帮模式可能如下:
答案 3 :(得分:8)
答案 4 :(得分:7)
思维模式。这是一颗银弹。
答案 5 :(得分:6)
我建议阅读Head First Design Patterns。这是一个有趣的阅读,你将了解很多常见的设计模式。