Design Patterns Java™ Workbook - Steven John Metsker

Design Patterns Java™ Workbook

Buch | Softcover
496 Seiten
2002
Addison Wesley (Verlag)
978-0-201-74397-5 (ISBN)
43,75 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
Provides a Java-literate way to understand the 23 GoF patterns. This book translates Design Patterns into what Java programmers need to know. It presents examples, exercises, and challenges that help you apply design pattern theory to real-world problems.
Finally, a companion to the seminal book, Design Patterns, 0-201-63361-2, that allows students to learn patterns using Java as opposed to C++, which was used in the original work. By working through the challenges presented in Design Patterns Java™ Workbook, the student will learn to recognize and apply a large portion of the accumulated wisdom of the software community. The author uses a workbook approach because he believes that students will not truly learn the material by reading it, but by “doing it.” The accompanying CD-ROM will include all code examples included in the book as well as some bonus code examples not found in the book. As the title suggests, all samples will be in Java.

Steven John Metsker is a Managing Consultant with Dominion Digital, an information technology and business process reengineering company. Steve specializes in object-oriented techniques for creating clean, powerful software, and he is the author of Building Parsers with Java™, Design Patterns Java™ Workbook, and Design Patterns in C# (all from Addison-Wesley).

Foreword.


Preface.


1. Introduction to Patterns.


Why Patterns?



Why Design Patterns?



Why Java?



Why UML?



Why a Workbook?



The Organization of This Book.



Welcome to Oozinoz!



Source Code Disclaimer.



Summary.

I. NTERFACE PATTERNS.

2. Introducing Interfaces.


Ordinary Interfaces.



Interfaces and Obligations.



Placing Constants in Interfaces.



Summary.



Beyond Ordinary Interfaces.

3. Adapter.


Adapting in the Presence of Foresight.



Class and Object Adapters.



Unforeseen Adaptation.



Recognizing ADAPTER.



Summary.

4. FAÇADE.


Refactoring to FAÇADE.



Facades, Utilities, and Demos.



Summary.

5. Composite.


An Ordinary Composite.



Recursive Behavior in Composites.



Trees in Graph Theory.



Composites with Cycles.



Consequences of Cycles.



Summary.

6. Bridge.


A Classic Example of BRIDGE: Drivers.



Refactoring to BRIDGE.



A Bridge Using the List Interface.



Summary.

II. Responsibility Patterns.

7. Introducing Responsibility.


Ordinary Responsibility.



Controlling Responsibility with Visibility.



Summary.



Beyond Ordinary Responsibility.

8. SINGLETON.


SINGLETON Mechanics.



Singletons and Threads.



Recognizing SINGLETON.



Summary.

9. OBSERVER.


A Classic Example: OBSERVER in Swing.



Model/View/Controller.



Maintaining an Observable Object.



Summary.

10. MEDIATOR.


A Classic Example: GUI Mediators.



Relational Integrity Mediators.



Summary.

11. Proxy.


A Classic Example: Image Proxies.



Image Proxies Reconsidered.



Remote Proxies.



Summary.

12. Chain of Responsibility.


Varieties of Lookup.



Refactoring to CHAIN OF RESPONSIBILITY.



Anchoring a Chain.



CHAIN OF RESPONSIBILITY without COMPOSITE.



Summary.

13. FLYWEIGHT.


Recognizing FLYWEIGHT.



Immutability.



Extracting the Immutable Part of a Flyweight.



Sharing Flyweights.



Summary.

III. CONSTRUCTION PATTERNS.

14. Introducing Construction.


Ordinary Construction.



Superclass Collaboration.



Collaboration within a Class.



Summary.



Beyond Ordinary Construction.

15. Builder.


Building from a Parser.



Building under Constraints.



Building a Counteroffer.



Summary.

16. FACTORY METHOD.


Recognizing FACTORY METHOD.



A Classic Example of FACTORY METHOD: Iterators.



Taking Control of Which Class to Instantiate.



FACTORY METHOD in Parallel Hierarchies.



Summary.

17. Abstract Factory.


Abstract Factories for Families of Objects.



Packages and Abstract Factories.



Abstract Factories for Look-and-Feel.



Summary.

18. Prototype.


Prototypes as Factories.



Prototyping with Clones.



Using Object.clone().



Summary.

19. Memento.


Memento Durability.



Applying Memento.



Persisting Mementos across Sessions.



Using Strings as Mementos.



Summary.

IV. OPERATION PATTERNS.

20. Introducing Operations.


Operations, Methods, and Algorithms.



The Mechanics of Methods.



Exceptions in Methods.



Summary.



Beyond Ordinary Operators.

21. TEMPLATE METHOD.


A Classic Example of TEMPLATE METHOD: Sorting.



Completing an Algorithm.



TEMPLATE METHOD Hooks.



Refactoring to TEMPLATE METHOD.



Summary.

22. STATE.


Modeling States.



Refactoring to STATE.



Making States Constant.



Summary.

23. STRATEGY.


Modeling Strategies.



Refactoring to STRATEGY.



Comparing STRATEGY and STATE.



Comparing STRATEGY and TEMPLATE METHOD.



Summary.

24. Command.


A Classic Example: Menu Commands.



Using COMMAND to Supply a Service.



COMMAND in Relation to Other Patterns.



Summary.

25. INTERPRETER.


An INTERPRETER Example.



Interpreters, Languages, and Parsers.



Summary.

V. EXTENSION PATTERNS.

26. Introducing Extensions.


Reuse as an Alternative to Extension.



Extending by Subclassing.



The Liskov Substitution Principle.



Extending by Delegating.



Summary.



Beyond Ordinary Extension.

27. DECORATOR.


A Classic Example of DECORATOR: Streams.



Function Decorators.



Decorating without DECORATOR.



Summary.

28. Iterator.


Type-Safe Collections.



Iterating Over a Composite.



Thread-Safe Iterators.



Summary.

29. VISITOR.


Supporting VISITOR.



Extending with VISITOR.



VISITOR Cycles.



VISITOR Controversy.



Summary.

VI. APPENDIXES.

Appendix A: Directions.
Appendix B: Solutions.
Appendix C: UML at a Glance.
Glossary.
Bibliography.
Index. 0201743973T03262002

Erscheint lt. Verlag 5.4.2002
Verlagsort Boston
Sprache englisch
Maße 254 x 279 mm
Gewicht 1171 g
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Mathematik / Informatik Informatik Software Entwicklung
Mathematik / Informatik Informatik Web / Internet
ISBN-10 0-201-74397-3 / 0201743973
ISBN-13 978-0-201-74397-5 / 9780201743975
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

Buch (2023)
Carl Hanser (Verlag)
29,99
Einführung, Ausbildung, Praxis

von Christian Ullenboom

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90