我是设计模式的新手,你能推荐一个开放的代码库(最好是在java中),它具有明确而优雅的设计模式。阅读GOF让我很困惑,我正在寻找一个使用了一些相互交互的模式的项目。 感谢。
答案 0 :(得分:5)
您可以查看JUnit及其中的一些docs。此外,JUnit本身就是非常有用的工具。我认为任何Java开发人员都必须知道如何使用它。
您还可以找到与Artima.com上发布的Erich Gamma有趣的对话:
也许,并非该对话的所有部分都与您的问题相关,但它们都非常有趣。
答案 1 :(得分:3)
而不是代码库,我将推荐阅读Head First design Patern,由oreilly。 这本书包含一些真正的教学例子。
但是JDK也充满了设计模式。 你可以找到Observer / observable,Iterator。或者更加微妙的Java I / O API中的Decorator
答案 2 :(得分:2)
我认为没有应用设计模式的代码库。这种模式在不同项目之间的应用方式不同。
该模式是一个指南,是在开发生命周期中出现的常见编程或设计问题的成熟解决方案。
我想建议阅读Head First Design Pattern一书,它非常重要,并且有很好的例子。
此致
答案 3 :(得分:1)
JDK本身有一些很好的例子。
例如,InputStream
/ OutputStream
,Reader
/ Writer
实现演示了装饰器模式的用法,因为您可以使用另一个实现来包装OutputStream为了分层其他功能。
答案 4 :(得分:1)
答案 5 :(得分:0)
我可以建议只看维基百科而不是GoF吗?我发现这本书难以阅读,但Wikipedia Article on Design Patterns对我来说非常有用。
然后深入研究有用的示例,例如Singleton,Lazy Initialization,Decorator等等,所有示例都包含良好的代码示例,并且都是免费的。
答案 6 :(得分:0)
我认为你需要看看模式如何在现实世界中应用,书中 Core J2EE Patterns: Best Practices and Design Strategies (2nd Edition)是一本基准测试书,展示了用于在Java中生成真实Web应用程序的主要模式。