My Account Log in

1 option

Design patterns explained : a new perspective on object-oriented design / Alan Shalloway, James Trott ; [edited by] John Neidhart, Sarah Kearns, Gina Kanouse.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Shalloway, Alan.
Contributor:
Trott, James, Contributor.
Series:
The software patterns series Design patterns explained
Language:
English
Subjects (All):
Object-oriented methods (Computer science)--Development.
Object-oriented methods (Computer science).
Object-oriented programming (Computer science).
Computer software.
Software patterns.
Physical Description:
1 online resource (p. cm.)
Edition:
Second ed.
Place of Publication:
Indianapolis, IN : Addison Wesley Professional, 2004.
Language Note:
English
System Details:
text file
Summary:
"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 would expect that readers with a basic understanding of object-oriented programming and design would find this book useful, before approaching design patterns completely. Design Patterns Explained complements the existing design patterns texts and may perform a very useful role, fitting between introductory texts such as UML Distilled and the more advanced patterns books." –James Noble Leverage the quality and productivity benefits of patterns–without the complexity! Design Patterns Explained, Second Edition is the field's simplest, clearest, most practical introduction to patterns. Using dozens of updated Java examples, it shows programmers and architects exactly how to use patterns to design, develop, and deliver software far more effectively. You'll start with a complete overview of the fundamental principles of patterns, and the role of object-oriented analysis and design in contemporary software development. Then, using easy-to-understand sample code, Alan Shalloway and James Trott illuminate dozens of today's most useful patterns: their underlying concepts, advantages, tradeoffs, implementation techniques, and pitfalls to avoid. Many patterns are accompanied by UML diagrams. Building on their best-selling First Edition, Shalloway and Trott have thoroughly updated this book to reflect new software design trends, patterns, and implementation techniques. Reflecting extensive reader feedback, they have deepened and clarified coverage throughout, and reorganized content for even greater ease of understanding. New and revamped coverage in this edition includes Better ways to start "thinking in patterns" How design patterns can facilitate agile development using eXtreme Programming and other methods How to use commonality and variability analysis to design application architectures The key role of testing into a patterns-driven development process How to use factories to instantiate and manage objects more effectively The Object-Pool Pattern–a new pattern not identified by the "Gang of Four" New study/practice questions at the end of every chapter Gentle yet thorough, this book assumes no patterns experience whatsoever. It's the ideal "first book" on patterns, and a per...
Contents:
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
What Is the UML?
Why Use the UML?
The Class Diagram
Interaction Diagrams
PART II: The Limitations of Traditional Object-Oriented Design
Chapter 3 A Problem That Cries Out for Flexible Code
Extracting Information from a CAD/CAM System
Understand the Vocabulary
Describe the Problem
The Essential Challenges and Approaches
Chapter 4 A Standard Object-Oriented Solution
Solving with Special Cases
PART III: Design Patterns
Chapter 5 An Introduction to Design Patterns
Design Patterns Arose from Architecture and Anthropology
Moving from Architectural to Software Design Patterns
Why Study Design Patterns?
Other Advantages of Studying Design Patterns
Chapter 6 The Facade Pattern
Introducing the Facade Pattern
Learning the Facade Pattern
Field Notes: The Facade Pattern
Relating the Facade Pattern to the CAD/CAM Problem
Review Questions.
Chapter 7 The Adapter Pattern
Introducing the Adapter Pattern
Learning the Adapter Pattern
Field Notes: The Adapter Pattern
Relating the Adapter Pattern to the CAD/CAM Problem
Chapter 8 Expanding Our Horizons
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
Chapter 9 The Strategy Pattern
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
Chapter 10 The Bridge Pattern
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
Chapter 11 The Abstract Factory Pattern
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
PART IV: Putting It All Together: Thinking in Patterns
Chapter 12 How Do Experts Design?
Building by Adding Distinctions
Chapter 13 Solving the CAD/CAM Problem with Patterns
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
PART V: Toward a New Paradigm of Design
Chapter 14 The Principles and Strategies of Design Patterns
The Open-Closed Principle
The Principle of Designing from Context
The Principle of Encapsulating Variation
Abstract Classes vs. Interfaces
The Principle of Healthy Skepticism
Chapter 15 Commonality and Variability Analysis
Commonality and Variability Analysis and Application Design
Solving the CAD/CAM Problem with CVA
Chapter 16 The Analysis Matrix
In the Real World: Variations
The International E-Commerce System Case Study: Handling Variation
Field Notes
Chapter 17 The Decorator Pattern
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
PART VI: Other Values of Patterns
Chapter 18 The Observer Pattern
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
Chapter 19 The Template Method Pattern
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
PART VII: Factories
Chapter 20 Lessons from Design Patterns: Factories
Factories
The Universal Context Revisited
Factories Follow Our Guidelines
Limiting the Vectors of Change
Another Way to Think About It
Different Roles of Factories
Chapter 21 The Singleton Pattern and the Double-Checked Locking Pattern
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
Chapter 22 The Object Pool Pattern
A Problem Requiring the Management of Objects
The Object Pool Pattern
Observation: Factories Can Do Much More Than Instantiation
Chapter 23 The Factory Method Pattern
More Requirements for the Case Study
The Factory Method Pattern
Factory Method Pattern and Object-Oriented Languages
Field Notes: Using the Factory Method Pattern
Chapter 24 Summary of Factories
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
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
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.
Notes:
Bibliographic Level Mode of Issuance: Monograph
Description based on publisher supplied metadata and other sources.
ISBN:
9786612648915
9780321630049
0321630041
9781282648913
1282648918
9780321630599
0321630599
OCLC:
1027183119

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account