ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 参考书目 [Auer] Ken. Auer "Reusability through Self-Encapsulation." In Pattern Languages of Program Design 1, Coplien J.O. Schmidt.D.C. Reading, Mass.: Addison-Wesley, 1995. Patterns paper on the concept of self-encapsulation. [B?umer and Riehle] B?umer, Riehle and Riehle. Dirk "Product Trader." In Pattern Languages of Program Design 3, R. Martin F. Buschmann D. Riehle. Reading, Mass.: Addison-Wesley, 1998. A pattern for flexibly creating objects without knowing in what class they should be. [Beck] Kent.Beck Smalltalk Best Practice Patterns. Upper Saddle River, N.J.: Prentice Hall, 1997a. An essential book for any Smalltalker, and a damn useful book for any object-oriented developer. Rumors of a Java version abound. [Beck, hanoi] Kent.Beck "Make it Run, Make it Right: Design Through Refactoring."The Smalltalk Report, 6: (1997b): 19-24. The first published writing that really gets the sense of how the process of refactoring works. The source of many ideas for Chapter 1. [Beck, XP] Kent.Beck eXtreme Programming eXplained: Embrace Change. Reading, Mass.: Addison-Wesley, 2000. [Fowler, UML] FowlerM.Scott.K. UML Distilled, Second Edition: A Brief Guide to the Standard Object Modeling Language. Reading, Mass.: Addison-Wesley, 2000. A concise guide to the Unified Modeling Language used for various diagrams in this book. [Fowler, AP] M.Fowler Analysis Patterns: Reusable Object Models. Reading, Mass.: Addison-Wesley, 1997. A book of domain model patterns. Includes a discussion of the range pattern. [Gang of Four] E. Gamma, R. Helm, R. Johnsonand J. Vlissides. Design Patterns: Elements of Reusable Object Oriented Software. Reading, Mass.: Addison-Wesley, 1995. Probably the single most valuable book on object-oriented design. It's now impossible to look as if you know anything about objects if you can't talk intelligently about strategy, singleton, and chain of responsibility. [Jackson, 1993] Michael. Jackson Michael Jackson's Beer Guide, Mitchell Beazley, 1993. A useful guide to a subject that rewards considerable practical study. [Java Spec] Gosling, James, Bill Joy and Guy Steele. The Java Language Specification, Second Edition. Boston, Mass.: Addison-Wesley, 2000. The authoritative answer to Java questions. [JUnit] Beck, Kent, and Erich Gamma.JUnit Open-Source Testing Framework. Available on the Web ([http://www.junit.org](http://www.junit.org/)). Essential tool for working in Java. A simple framework that helps you write, organize, and run unit tests. Similar frameworks are available for Smalltalk and C++. [Lea] Doug.Lea, Concurrent Programming in Java: Design Principles and Patterns, Reading, Mass.: Addison-Wesley, 1997. The compiler should stop anyone implementing Runnable who hasn't read this book. [McConnell] Steve. McConnell, Code Complete: A Practical Handbook of Software Construction. Redmond, Wash.: Microsoft Press, 1993. An excellent guide to programming style and software construction. Written before Java, but almost all of its advice applies. [Meyer] Bertrand. Meyer, Object Oriented Software Construction. 2 ed. Upper Saddle River, N.J.: Prentice Hall, 1997. A very good, if very large, book on object-oriented design. Includes a thorough discussion of design by contract. [Opdyke] William F. Opdyke, Ph.D. diss., "Refactoring Object-Oriented Frameworks. " University of Illinois at Urbana-Champaign, 1992. See ftp://st.cs.uiuc.edu/pub/papers/refactoring/opdyke-thesis.ps.z. The first decent-length writing on refactoring. Tackles it from a somewhat academic and tools-oriented angle (after all it is a dissertation) but is well worth reading for those who want more on the theory of refactoring. [Refactoring Browser] Brant, John, and Don Roberts. Refactoring Browser Tool, [http://st-www.cs.uiuc.edu/~brant/RefactoringBrowser](http://st-www.cs.uiuc.edu/~brant/RefactoringBrowser). The future of software development tools. [Woolf] Bobby. Woolf, "Null Object." In Pattern Languages of Program Design 3, Martin, R. Riehle. D. Buschmann F. Reading, Mass.: Addison-Wesley, 1998. A discussion on the null object pattern.