设计模式参考资料(基础)

 

书籍

  • Design Patterns: Elements of Reusable Object-Oriented Software ,Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著(Addison-Wesley,1995),可能是面向对象设计方面最有影响的资料。第 1、2 和 6 章是必需阅读的章节,这些章节从总体上帮助您理解面向对象设计,尤其是对于面向对象设计中模式角色的理解。

  • Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML ,Mark Grand 著(Wiley,1998),写得不如《设计模式》那样好,特别是在关于一般的面向对象设计的问题方面;但使读者更容易理解类别中的各种模式,尤其是因为许多样本是用 Java 语言编写的,而且书中的建议解决了 Java 开发人员普遍存在的问题。

  • Core J2EE Patterns: Best Practices and Design Strategies ,Deepak Alur、John Crupi 和 Dan Malks 合著(Prentice Hall,2001 ),对用于多层企业应用程序的设计和体系结构的模式进行了编目。

  • UML Distilled: Applying the Standard Object Modeling Language ,Martin Fowler 和 Kendall Scott 合著(Addison-Wesley,2000),对 UML 的实质作了极佳的介绍。它包含了一些简短但有价值的讨论,这些讨论是关于把“类-职责-协作”卡用于面向对象设计。

  • The Unified Modeling Language User Guide ,Grady Booch、Ivar Jacobson 和 James Rumbaugh 合著(Addison-Wesley,1998),在您需要了解的内容不仅仅局限于那些必不可少的内容时,这本书对您是有帮助的。

网上资源

  • 关于 Java 编程语言和常规的面向对象设计,developerWorks 有两篇不错的介绍性文章:

    • “The OO design process: Getting started” ,Allen Holub 著

    • “The object primer: Using object-oriented techniques to develop software” ,Scott W. Ambler 著

  • 还有几篇有关 Java 语言、模式和 UML 的文章:

    • “A UML workbook”(第 1 部分、第 2 部分和 第 3 部分),Granville Miller 著

    • “An overview of object relationships: The basics of UML and Java associations” ,Scott W. Ambler 著

    • “Use your singletons wisely: Know when to use singletons, and when to leave them behind” ,J. B. Rainsberger 著

    • “Developing Java solutions using Design Patterns” ,Kelby Zordrager 著

  • 有些网站上也有一些关于模式的极佳信息。Hillside Group 在模式社区中起主要作用,特别是它自己的站点是一个了解模式的极好出发点:

    • Hillside Group 模式主页

    • Portland Pattern Repository

    • Brad Appleton's Software Patterns Links

  • 对于那些希望更多了解设计模式之父的人来说,“Christopher Alexander: An Introduction for Object-Oriented Designers”很值得一读。

  • 在本教程和其它地方中讨论和分析得最多的模式就是 Singleton 模式。这里有两篇文章从完全不同的观点讲述了这一主题:

    • “Implementing the Singleton Pattern in Java” ,Rod Waldhoff 著

    • “When is a singleton not a singleton?” ,Joshua Fox 著

你可能感兴趣的:(设计模式,uml,associations,java,object,语言)