Design patterns explained a new perspective on object-oriented design

"One of the great things about the book is the way the authors explain concepts very simply using analogies rather than programming examples–this has been very inspiring for a product I'm working on: an audio-only introduction to OOP and software development." –Bruce Eckel "...I...

Descripción completa

Detalles Bibliográficos
Autor principal: Shalloway, Alan (-)
Otros Autores: Trott, James Contributor (contributor)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Indianapolis, IN : Addison Wesley Professional 2004.
Edición:Second ed
Colección:The software patterns series Design patterns explained
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009627158206719
Tabla de Contenidos:
  • Cover
  • Contents
  • Preface
  • From Object Orientation to Patterns to True Object Orientation
  • From Artificial Intelligence to Patterns to True Object Orientation
  • A Note About Conventions Used in This Book
  • Feedback
  • New in the Second Edition
  • Acknowledgments
  • PART I: An Introduction to Object-Oriented Software Development
  • Chapter 1 The Object-Oriented Paradigm
  • Overview
  • Before the Object-Oriented Paradigm: Functional Decomposition
  • The Problem of Requirements
  • Dealing with Changes: Using Functional Decomposition
  • Dealing with Changing Requirements
  • The Object-Oriented Paradigm
  • Object-Oriented Programming in Action
  • Special Object Methods
  • Summary
  • Review Questions
  • Chapter 2 The UML-The Unified Modeling Language
  • Overview
  • What Is the UML?
  • Why Use the UML?
  • The Class Diagram
  • Interaction Diagrams
  • Summary
  • Review Questions
  • PART II: The Limitations of Traditional Object-Oriented Design
  • Chapter 3 A Problem That Cries Out for Flexible Code
  • Overview
  • Extracting Information from a CAD/CAM System
  • Understand the Vocabulary
  • Describe the Problem
  • The Essential Challenges and Approaches
  • Summary
  • Review Questions
  • Chapter 4 A Standard Object-Oriented Solution
  • Overview
  • Solving with Special Cases
  • Summary
  • Review Questions
  • PART III: Design Patterns
  • Chapter 5 An Introduction to Design Patterns
  • Overview
  • Design Patterns Arose from Architecture and Anthropology
  • Moving from Architectural to Software Design Patterns
  • Why Study Design Patterns?
  • Other Advantages of Studying Design Patterns
  • Summary
  • Review Questions
  • Chapter 6 The Facade Pattern
  • Overview
  • Introducing the Facade Pattern
  • Learning the Facade Pattern
  • Field Notes: The Facade Pattern
  • Relating the Facade Pattern to the CAD/CAM Problem
  • Summary
  • Review Questions.
  • Chapter 7 The Adapter Pattern
  • Overview
  • Introducing the Adapter Pattern
  • Learning the Adapter Pattern
  • Field Notes: The Adapter Pattern
  • Relating the Adapter Pattern to the CAD/CAM Problem
  • Summary
  • Review Questions
  • Chapter 8 Expanding Our Horizons
  • Overview
  • Objects: The Traditional View and the New View
  • Encapsulation: The Traditional View and the New View
  • Find What Is Varying and Encapsulate It
  • Commonality and Variability Analysis and Abstract Classes
  • The Qualities of Agile Coding
  • Summary
  • Review Questions
  • Chapter 9 The Strategy Pattern
  • Overview
  • An Approach to Handling New Requirements
  • The International E-Commerce System Case Study: Initial Requirements
  • Handling New Requirements
  • The Strategy Pattern
  • Field Notes: Using the Strategy Pattern
  • Summary
  • Review Questions
  • Chapter 10 The Bridge Pattern
  • Overview
  • Introducing the Bridge Pattern
  • Learning the Bridge Pattern: An Example
  • An Observation About Using Design Patterns
  • Learning the Bridge Pattern: Deriving It
  • The Bridge Pattern in Retrospect
  • Field Notes: Using the Bridge Pattern
  • Summary
  • Review Questions
  • Chapter 11 The Abstract Factory Pattern
  • Overview
  • Introducing the Abstract Factory Pattern
  • Learning the Abstract Factory Pattern: An Example
  • Learning the Abstract Factory Pattern: Implementing It
  • Field Notes: The Abstract Factory Pattern
  • Relating the Abstract Factory Pattern to the CAD/CAM Problem
  • Summary
  • Review Questions
  • PART IV: Putting It All Together: Thinking in Patterns
  • Chapter 12 How Do Experts Design?
  • Overview
  • Building by Adding Distinctions
  • Summary
  • Review Questions
  • Chapter 13 Solving the CAD/CAM Problem with Patterns
  • Overview
  • Review of the CAD/CAM Problem
  • Thinking in Patterns
  • Thinking in Patterns: Step 1
  • Thinking in Patterns: Step 2a.
  • Thinking in Patterns: Step 2b
  • Thinking in Patterns: Step 2c
  • Thinking in Patterns: Steps 2a and 2b Repeated (Facade)
  • Thinking in Patterns: Steps 2a and 2b Repeated (Adapter)
  • Thinking in Patterns: Steps 2a and 2b Repeated (Abstract Factory)
  • Thinking in Patterns: Step 3
  • Comparison with the Previous Solution
  • Summary
  • Review Questions
  • PART V: Toward a New Paradigm of Design
  • Chapter 14 The Principles and Strategies of Design Patterns
  • Overview
  • The Open-Closed Principle
  • The Principle of Designing from Context
  • The Principle of Encapsulating Variation
  • Abstract Classes vs. Interfaces
  • The Principle of Healthy Skepticism
  • Summary
  • Review Questions
  • Chapter 15 Commonality and Variability Analysis
  • Overview
  • Commonality and Variability Analysis and Application Design
  • Solving the CAD/CAM Problem with CVA
  • Summary
  • Review Questions
  • Chapter 16 The Analysis Matrix
  • Overview
  • In the Real World: Variations
  • The International E-Commerce System Case Study: Handling Variation
  • Field Notes
  • Summary
  • Review Questions
  • Chapter 17 The Decorator Pattern
  • Overview
  • A Little More Detail
  • The Decorator Pattern
  • Applying the Decorator Pattern to the Case Study
  • Another Example: Input/Output
  • Field Notes: Using the Decorator Pattern
  • The Essence of the Decorator Pattern
  • Summary
  • Review Questions
  • PART VI: Other Values of Patterns
  • Chapter 18 The Observer Pattern
  • Overview
  • Categories of Patterns
  • More Requirements for the International E-Commerce Case Study
  • The Observer Pattern
  • Applying the Observer to the Case Study
  • Field Notes: Using the Observer Pattern
  • Summary
  • Review Questions
  • Chapter 19 The Template Method Pattern
  • Overview
  • More Requirements for the International E-Commerce Case Study
  • The Template Method Pattern.
  • Applying the Template Method to the International E-Commerce Case Study
  • Using the Template Method Pattern to Reduce Redundancy
  • Field Notes: Using the Template Method Pattern
  • Summary
  • Review Questions
  • PART VII: Factories
  • Chapter 20 Lessons from Design Patterns: Factories
  • Overview
  • Factories
  • The Universal Context Revisited
  • Factories Follow Our Guidelines
  • Limiting the Vectors of Change
  • Another Way to Think About It
  • Different Roles of Factories
  • Field Notes
  • Summary
  • Review Questions
  • Chapter 21 The Singleton Pattern and the Double-Checked Locking Pattern
  • Overview
  • Introducing the Singleton Pattern
  • Applying the Singleton Pattern to the Case Study
  • A Variant: The Double-Checked Locking Pattern
  • Reflections
  • Field Notes: Using the Singleton and Double-Checked Locking Patterns
  • Summary
  • Review Questions
  • Chapter 22 The Object Pool Pattern
  • Overview
  • A Problem Requiring the Management of Objects
  • The Object Pool Pattern
  • Observation: Factories Can Do Much More Than Instantiation
  • Summary
  • Review Questions
  • Chapter 23 The Factory Method Pattern
  • Overview
  • More Requirements for the Case Study
  • The Factory Method Pattern
  • Factory Method Pattern and Object-Oriented Languages
  • Field Notes: Using the Factory Method Pattern
  • Summary
  • Review Questions
  • Chapter 24 Summary of Factories
  • Overview
  • Steps in the Software Process
  • Parallels in Factories and XP Practices
  • Scaling Systems
  • PART VIII: Endings and Beginnings
  • Chapter 25 Design Patterns Reviewed: A Summation and a Beginning
  • Overview
  • A Summary of Object-Oriented Principles
  • How Design Patterns Encapsulate Implementations
  • Commonality and Variability Analysis and Design Patterns
  • Decomposing a Problem Domain into Responsibilities
  • Patterns and Contextual Design.
  • Relationships Within a Pattern
  • Design Patterns and Agile Coding Practices
  • Field Notes
  • Summary
  • Review Questions
  • Chapter 26 Bibliography
  • Design Patterns Explained: The Web Site Companion
  • Recommended Reading
  • Recommended Reading for Java Programmers
  • Recommended Reading for C++ Programmers
  • Recommended Reading for COBOL Programmers
  • Recommended Reading on eXtreme Programming
  • Recommended Reading on General Programming
  • Personal Favorites
  • Index.