项目中使用的设计模式
嗨,我最近在学习设计模式。我想看看在不同项目中使用的设计模式,以及它们是怎么实现的。了解实现方式有助于我更好地理解设计模式在整体中的作用,以及为什么选择使用某种模式。开源项目的问题在于,它们的文档通常写得不够清楚。
有没有人能推荐一些在线资源给我?
附注:如果可以的话,我希望能找到C或C++的相关资料。
更新:以下是我列出的项目:
http://www.boost.org
http://sourceforge.net/projects/loki-lib/
'POCO.'
ACE(自适应通信环境)。
如果有人想补充更多内容,请随时添加。我个人查看了上述项目,发现Boost是一个不错的入门选择。
更新:由于有一篇关于Java的好文章,描述了设计模式 Java核心库中的GoF设计模式示例,我也把我知道的其他语言加入标签中。
3 个回答
2
我找到了一些非常有用的例子,展示了在Java这个标签下,特定的设计模式是如何使用的(理解起来应该不难):Java核心库中GoF设计模式的例子
2
有很多库很好地利用了设计模式,但我想给你推荐两个我觉得非常不错的:
- ACE(自适应通信环境)。这是一个开源的面向对象框架,专门为并发通信软件实现了许多核心设计模式。
- POCO。这是一个开源的C++类库和框架,适合用来构建网络和互联网应用,可以在桌面、服务器和嵌入式系统上运行。
当然,正如Justin所说,Boost也是一个很好的学习资源。
5
Boost是一个写得非常好、文档也很齐全的库,它实现了几种设计模式。这个库的内容比较多,而且这些实现也被用在其他库里。
Boost在很多项目中都能找到,但Loki这个库也值得一看:
http://sourceforge.net/projects/loki-lib/
Loki的原作者(安德烈·亚历山德鲁)在一本经典的C++书籍《现代C++设计:通用编程与设计模式应用》中详细讲解了很多设计细节。