【问题标题】:Design Pattern rich code base? [closed]设计模式丰富的代码库? [关闭]
【发布时间】:2009-10-14 14:49:29
【问题描述】:

我是设计模式的新手,您能否推荐一个开放的代码库(最好是在 java 中),它具有明确且优雅地使用的设计模式。阅读 GOF 让我感到困惑,我正在寻找一个使用一些相互交互的模式的项目。 谢谢。

【问题讨论】:

标签: java design-patterns open-source oop


【解决方案1】:

您可以查看JUnit 及其部分docs。此外,JUnit 本身就是非常有用的工具。我认为任何 Java 开发人员都必须知道如何使用它。

您还可以在 Artima.com 上找到与 Erich Gamma 的有趣对话:

  1. How to Use Design Patterns
  2. Erich Gamma on Flexibility and Reuse
  3. Design Principles from Design Patterns
  4. Patterns and Practice
  5. Eclipse's Culture of Shipping

也许,不是对话的所有部分都与您的问题相关,但它们都非常有趣。

【讨论】:

  • 感谢 Rorick,该文档正是我正在寻找的那种示例
  • 很高兴分享)这些文档对我非常有用。
【解决方案2】:

我推荐阅读 oreilly 的 Head First design Patern,而不是代码库。 这本书包含一些非常具有教育意义的例子。

但是 JDK 也充满了设计模式。 你可以找到 Observer/observable ,迭代器。或者更微妙的是,Java I/O API 中的装饰器

The google book link to Head first design pattern

【讨论】:

  • Head first 设计模式被高估了,它的模式被简化了很多。我花了很多时间来纠正这本书造成的错误观念。
【解决方案3】:

我认为没有任何代码库应用了设计模式。这种模式的应用因项目而异。

该模式是一个指南,是针对开发生命周期中存在的常见编程或设计问题的经过验证的解决方案。

我想建议阅读 Head First Design Pattern 这本书,它非常中肯,并且有很好的例子。

问候

【讨论】:

    【解决方案4】:

    JDK 本身就有一些很好的例子。

    例如,InputStream/OutputStreamReader/Writer 实现演示了装饰器模式的使用,在某种意义上,您可以将 OutputStream 与另一个实现包装在一起,以便对附加功能进行分层。

    【讨论】:

      【解决方案5】:
      【解决方案6】:

      我可以建议只看维基百科而不是 GoF 吗?我发现这本书很难读,但Wikipedia Article on Design Patterns 对我非常有用。

      然后深入研究有用的示例,例如SingletonLazy InitializationDecorator 等,所有示例都有很好的代码示例,而且全部免费。

      【讨论】:

        【解决方案7】:

        我认为你需要看看模式在现实世界中是如何应用到实践中的,这本书 Core J2EE Patterns: Best Practices and Design Strategies (2nd Edition) 是一本基准书,展示了用于在 java 中生成真实 Web 应用程序的主要模式。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-03-12
          • 1970-01-01
          • 2011-05-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-22
          • 2010-12-12
          相关资源
          最近更新 更多