Preface Why We Wrote This Book What This Book Is About Who Should Read This Book Conventions Used How This Book Is Organized How to Use This Book Companion Web Site Acknowledgments Introduction Why Patterns? History of the Patterns Movement Basic Concepts in Patterns Software Abstraction and Reuse Summary Part One: Commonly Used Patterns Chapter 1: Creational Patterns Introduction to Creational Patterns Abstract Factory Builder Factory Method Prototype Singleton Chapter 2: Behavioral Patterns Introduction to Behavioral Patterns Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Visitor Template Method Chapter 3: Structural Patterns Introduction to Structural Patterns Adapter Bridge Composite Decorator Facade Half-Object Plus Protocol (HOPP) Proxy Chapter 4: System Patterns Introduction to System Patterns Model-View-Controller (MVC) Session Worker Thread Callback Successive Update Router Transaction Part Two: Patterns in the Java Programming Language Chapter 5: Introduction to Java Programming Language Patterns Chapter 6: Java Core APIs Event Handling JavaBeans AWT and Swing - The Graphical User Interface APIs Collections Framework Input-Output (I/O) Reflection Chapter 7: Distributed Technologies Java Naming and Directory Interface (JNDI) JDBC RMI CORBA Chapter 8: Jini and J2EE Architectures Jini Java 2, Enterprise Edition (J2EE) Servlets and JSPs Enterprise JavaBeans Appendix A: Full Code Examples System Requirements Creational Pattern Code Examples Abstract Factory Builder Factory Method Prototype- Singleton Chain of Responsibility Command Interpreter Iterator~ Mediator, Memento Observer State Strategy Visitor Template Method Adapter Bridge Composite Decorator Facade: Flyweight Half-Object Plus Protocol (HOPP) Proxy Model-View-Controller (MVC) Session Worker Thread, Callback Successive Update Router Transaction Appendix B: Bibliography Index