Java 项目中使用的设计模式

Java 项目中使用的设计模式,java,c++,python,design-patterns,Java,C++,Python,Design Patterns,嗨,这些天我在学习设计模式。我想阅读各种项目中使用的设计模式,以及它是如何实现的。实现有助于在更广泛的范围内连接设计模式,以及为什么他们使用该模式。开源项目的问题在于它们没有正确的文档记录 有人能帮我使用sm在线资源吗 PS:如果可能的话,我需要C或C++ +/P > 更新: 下面列出的项目: “POCO”。 ACE(自适应通信环境) 如果有人想添加更多,请执行。就个人而言,我查看了上述项目,发现boost是一个不错的开始选择 更新:由于有一篇关于java的文章描述了设计模式。我在tag中

嗨,这些天我在学习设计模式。我想阅读各种项目中使用的设计模式,以及它是如何实现的。实现有助于在更广泛的范围内连接设计模式,以及为什么他们使用该模式。开源项目的问题在于它们没有正确的文档记录

有人能帮我使用sm在线资源吗

PS:如果可能的话,我需要C或C++ +/P > 更新: 下面列出的项目:


“POCO”。
ACE(自适应通信环境)

如果有人想添加更多,请执行。就个人而言,我查看了上述项目,发现boost是一个不错的开始选择


更新:由于有一篇关于java的文章描述了设计模式。我在tag中加入了一些我知道的其他语言,boost,一个非常好的编写和文档化的库实现了几种设计模式。这是一个相当大的库,这些实现在库中使用

boost出现在许多项目中,但loki的文章也值得一读:


原始作者LoKi(Andrei Alexandrescu)在C++经典经典C++设计中研究了许多设计细节:泛型编程和应用的设计模式。

< P>有许多库很好地使用了模式,但让我指出你对我来说似乎很好的两个:

  • 。开源面向对象(OO)框架,为并发通信软件实现许多核心模式
  • 。开放源代码C++类库和框架,用于构建基于桌面和服务器和嵌入式系统的网络和基于Internet的应用程序。

当然,正如Justin所说,Boost也可以成为学习的来源。

我发现了一个非常有用的例子,说明java标记下的特定模式是如何/在哪里使用的(理解起来应该不难):

这可能属于programmers.stackexchange.com,而不是stackoverflow.com,因为这不是一个编程问题。请注意,模式不会神奇地提高代码质量。@Fred,请您详细说明一下。在什么意义上你指的是质量?(效率、可恢复性、可读性…)您可以想象的任何质量度量。模式不是万灵药。我曾经写过一个俄罗斯方块游戏,大约有100个类,其中包含了我当时知道的所有模式。如果可以使用模式,为什么要使用简单的if/else?OO很好,模式甚至更好,对吗?不,这是一个可怕的,过度设计的垃圾。和弗雷德一样的感觉。尽管在某些情况下模式是好的,但我曾经打算编写一个工具来检测字符串是否已经在一堆java属性文件中本地化。这个工具是由我的老板开发的,它使用了很多专家的东西来编写,比如20个类、工厂模式、单例、访问者等等。所有这些都是一个简单的工具,它已经在项目中的另一个团队已经用大约100行的Ruby代码完成了。在C++中,有一个模式(虽然这个术语没有在java世界中被广泛使用),但是一个也有成语,它和模式一样糟糕。Boost主要实现习惯用法,而不是模式。@Alexandre C。我们也有策略!这更适合作为评论而不是回答。