Design Patterns CD
http://lci.cs.ubbcluj.ro/~raduking/Books/Design%20Patterns/ [21/08/2002 19:01:33]
Table of Contents
Preface to CD
Preface to Book
Foreword
Guide to Readers
Introduction
What Is a Design Pattern?
Design Patterns in Smalltalk MVC
Describing Design Patterns
The Catalog of Design Patterns
Organizing the Catalog
How Design Patterns Solve Design Problems
How to Select a Design Pattern
How to Use a Design Pattern
A Case Study: Designing a Document Editor
Design Problems
Document Structure
Formatting
Embellishing the User Interface
Supporting Multiple Look-and-Feel Standards
Supporting Multiple Window Systems
User Operations
Spelling Checking and Hyphenation
Summary
Design Pattern Catalog
Creational Patterns
Abstract Factory
Builder
Factory Method
Prototype
Singleton
Discussion of Creational Patterns
Structural Patterns
http://lci.cs.ubbcluj.ro/~raduking/Books/Design%20Patterns/contfs.htm (1 of 3) [21/08/2002 19:01:49]
Table of Contents
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
Discussion of Structural Patterns
Behavioral Patterns
Chain of Responsibility
Command
Interpreter
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
Discussion of Behavioral Patterns
Conclusion
What to Expect from Design Patterns
A Brief History
The Pattern Community
An Invitation
A Parting Thought
Glossary
Guide to Notation
Class Diagram
Object Diagram
Interaction Diagram
Foundation Classes
List
Iterator
ListIterator
Point
Rect
http://lci.cs.ubbcluj.ro/~raduking/Books/Design%20Patterns/contfs.htm (2 of 3) [21/08/2002 19:01:49]
Table of Contents
Bibliography
Index
Preface to CD
http://lci.cs.ubbcluj.ro/~raduking/Books/Design%20Patterns/contfs.htm (3 of 3) [21/08/2002 19:01:49]
Design Patterns CD
Frequently Asked Questions (and Their
Answers)
How do I display the contents page of the Design Patterns CD?
Go back to the main screen and click on the word "Contents." This will bring up the contents
page that will let you navigate through the rest of the book.
How do I link my documents to the CD?
Because the Design Patterns CD uses framesets to provide important navigational tools, any
hyperlinks you make to point to the CD should invoke the appropriate frameset file, not just
the chapter file itself.
The best method for obtaining the appropriate URL for use in your own Web page is to use one of the
built-in navigational aids (such as the top banner or bottom pattern menu). However, rather than
clicking the left mouse button, use the right button to display the menu of extended choices. Then
select "Copy Link Location" in Netscape or "Copy Shortcut" in Internet Explorer. Put that link onto
your cut buffer. You can now paste the URL into your own HTML document as an attribute to the
anchor (
) tag.
Which browsers can I use with the Design Patterns CD?
The Design Patterns CD works best with Netscape Navigator on all platforms we have tested,
including MS Windows, Unix, and Macintosh. The Design Patterns CD also works with
Microsoft Internet Explorer on the MS Windows platform. Although it should be possible to
use other browsers that support both Java and JavaScript, we have not tested the Design
Patterns CD on those systems and do not provide technical support should problems occur. We
strongly recommend that you use one of these browsers to view the Design Patterns CD.
My computer resolution is 800x600. Is it okay if I use the version optimized for 640x480?
Yes, the low-res and high-res versions of the CD contain exactly the same information. The
only difference is that the formatting is done in the way that we believe will look best on high-
and low-resolution systems. If you prefer the look of the low-res screens on your high-res
system, you should not experience any problems. The reverse is not true, however. Using the
800x600 version on a 640x480 screen may cause you to lose information and is not
recommended.
Why do the applet contents disappear when I iconify and then de-iconify the search applet in
Communicator 4.0/Win95?
There is a bug in Netscape's Java Virtual Machine for Communicator 4.0 that causes many
java applets to crash when they are iconified to the Windows 95 toolbar. Iconifying the search
applet under Communicator 4.0 on Windows 95 will always result in a loss of search contents.
If you encounter this behavior, simply close the applet and click on the Search button in the
main frameset to restore it.
http://lci.cs.ubbcluj.ro/~raduking/Books/Design%20Patterns/faq.htm (1 of 2) [21/08/2002 19:01:57]
Design Patterns CD
Why doesn't an exhaustive search always return the same results as an indexed search?
There are two things that can cause the index search and exhaustive search to return different
results.
The first is that the exhaustive search is done over the raw HMTL so that if you the phrase
"describing design patterns" is found in the HTML source, the exhaustive search
won't match it. The indexer ignores the HTML tags so that it will match this phrase.
The second is that an indexed search matches any section that contains all of the words entered
in any order and with any words in-between. So for example this sentence in the conclusion
matches on the indexed search: "Moreover, describing a system in terms of the design
patterns..." The exhaustive search is much more strict; the words must be in the correct order,
separated only by whitespace.
How can I obtain updates, patches and news about the Design Patterns CD?
Addison Wesley Longman maintains a web page for the Design Patterns CD at
http://www.awl.com/cseng/titles/0-201-63498-8/. Updates, ancillary materials and all other
information will be made available from this site.
http://lci.cs.ubbcluj.ro/~raduking/Books/Design%20Patterns/faq.htm (2 of 2) [21/08/2002 19:01:57]
Related Books
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
These four top-notch authors show how object-oriented systems exhibit recurring patterns and
structures of objects that solve particular design problems, allowing designers to reuse successful
designs and architectures without having to rediscover the design solutions. Central to this book is a
catalog of 23 design patterns that have seen successful practical application and are representative of
good object-oriented design. Each pattern describes the circumstances in which it is applicable, when
it can be applied in view of other design constraints, and the consequences and trade-offs of using the
pattern in a larger design.
ISBN 0-201-63442-2 Hardback 416 pages ©1995
The Design Patterns Smalltalk Companion
Sherman Alpert, Kyle Brown, and Bobby Woolf
In this new book, intended as a language companion to Design Patterns, noted Smalltalk and design
patterns experts implement the 23 design patterns using Smalltalk code. Using the same successful
format as Design Patterns, this book tailors the topic of design patterns to the Smalltalk
programmer—no other book offers this. The authors have worked closely with the Design Patterns
authors to ensure that this companion volume is held to the same high quality standards that made the
original a bestseller. The full source code will be available on Addison-Wesley's web site.
ISBN 0-201-18462-1 Hardback 448 pages ©1998
Analysis Patterns: Reusable Object Models
Martin Fowler
Analysis Patterns is an important contribution to the growing patterns literature. It
captures profound object modeling expertise from different domains as a catalog of
patterns. These domain patterns will help you solve challenging modeling problems
across different domains.
—Erich Gamma, Technical Director, Object Technology International.
Martin Fowler shares with you his wealth of object modeling experience and his keen eye for solving
repeating problems and transforming the solutions into reusable models. Analysis Patterns provides a
catalog of patterns that have emerged in a wide range of domains, including trading, measurement,
accounting, and organizational relationships.
http://lci.cs.ubbcluj.ro/~raduking/Books/Design%20Patterns/related.htm (1 of 3) [21/08/2002 19:02:12]
Related Books
ISBN 0-201-89542-0 Hardback 672 pages ©1997
Concurrent Programming in Java™: Design Principles and Patterns
Doug Lea
Serious Java programmers interested in using this rich language to the fullest need to master thread
programming to significantly enhance their ability to create high-performance Java applications.
Taking a design pattern approach, this book offers numerous standard design techniques for creating
and implementing Java structures that solve common concurrent programming challenges. You will
learn how to initiate, control, and coordinate concurrent activities using the Java constructs
java.lang.Thread, the keywords synchronized and volatile, and the methods wait, notify, and
notifyAll. In addition, you will find detailed coverage of all aspects of thread programming, including
such topics as containment and synchronization, deadlocks and conflicts, state-dependent action,
control, handling user services, flow, and coordinated interaction. Code examples throughout help
clarify the subtleties of the concurrent programming concepts discussed.
ISBN 0-201-69581-2 Paperback 352 pages ©1997
Pattern Languages of Program Design
Edited by James O. Coplien and Douglas C. Schmidt
This book brings you the expertise and creativity of leaders in the design patterns field, including
James Coplien, Douglas Schmidt, and Ward Cunningham. It explores many facets of design patterns
and reveals how useful this technique can be in a wide range of fields and industries—client/server
programming, software design, distributed and parallel processing, financial services, software reuse,
and interface design.
ISBN 0-201-60734-4 Paperback 576 pages ©1995
Pattern Languages of Program Design 2
John M. Vlissides, James O. Coplien, and Norman L. Kerth
This volume, with contributions from the biggest names in the patterns community, is the second in a
series documenting patterns for professional software developers. This new collection not only reveals
the secrets of great software professionals, but also makes those secrets easy to apply.
ISBN 0-201-89527-7 Paperback 624 pages ©1996
Pattern Languages of Program Design 3
http://lci.cs.ubbcluj.ro/~raduking/Books/Design%20Patterns/related.htm (2 of 3) [21/08/2002 19:02:12]