Addison-Wesley / Prentice Hall
Computer Science
Browse available resources for Computer Science:
- Select a resource
- Resources for Computer Science GOAL where virtual office hours are 24/7! Your Own TA, Just a Click Away! Deitel Resource Centers National Center for Women & Information Technology View material from Search Engines: Information Retrieval in Practice VideoNotes Andrew Tanenbaum Flame Award Recipient Custom Programs Instructor Resource Center myPearsonStore

ISBN-10: 0321247140
ISBN-13: 9780321247148
Publisher: Addison-Wesley Professional
Copyright: 2005
Format: Paper; 480 pp
Published: 10/12/2004
Suggested retail price: $49.99
Buy from myPearsonStore
Design Patterns Explained, Second Edition is a simple, clear, and practical introduction to patterns. Using dozens of new C# and updated Java examples, it shows students how to use patterns to design, develop, and deliver software far more effectively. Students should read this book before they they try and tackle Gamma's well-known work, Design Patterns.
The book starts 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.
A thoroughly-revised and timely second edition to one of the most successful introductory design patterns books on the market.
° Gain a pragmatic and conceptual understanding of design patterns and the fundamentals of object technology design
° Examples in both Java and C Sharp
° Part of the acclaimed Software Patterns Series from Addison-Wesley, the leading publisher of design patterns reference material
I. AN INTRODUCTION TO OBJECT-ORIENTED SOFTWARE DEVELOPMENT.
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.
2. The UML-The Unified Modeling Language.
Overview.
What Is the UML?
Why Use the UML?
The Class Diagram.
Interaction Diagrams.
Summary.
Review Questions.
II. THE LIMITATIONS OF TRADITIONAL OBJECT-ORIENTED DESIGN.
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.
4. A Standard Object-Oriented Solution.
Overview.
Solving with Special Cases.
Summary.
Review Questions.
III. DESIGN PATTERNS.
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.
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.
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.
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.
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.
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.
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.
IV. PUTTING IT ALL TOGETHER: THINKING IN PATTERNS.
12. How Do Experts Design?
Overview.
Building by Adding Distinctions.
Summary.
Review Questions.
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.
V. TOWARD A NEW PARADIGM OF DESIGN.
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.
15. Commonality and Variability Analysis.
Overview.
Commonality and Variability Analysis and Application Design.
Solving the CAD/CAM Problem with CVA.
Summary.
Review Questions.
16. The Analysis Matrix.
Overview.
In the Real World: Variations.
The International E-Commerce System Case Study: Handling Variation.
Field Notes.
Summary.
Review Questions.
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.
VI. OTHER VALUES OF PATTERNS.
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.
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.
VII. FACTORIES.
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.
Overview.
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.
Summary.
Review Questions.
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.
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.
24. Summary of Factories.
Overview.
Steps in the Software Process.
Parallels in Factories and XP Practices.
Scaling Systems.
VIII. ENDINGS AND BEGINNINGS.
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.
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.
Alan Shalloway is founder, CEO, and principal consultant of Net Objectives, an object-oriented consulting and training organization. An object-oriented consultant and software developer for over 20 years, he is a frequent speaker at leading development conferences, including SD Expo, Java One, OOP, and OOPSLA. He is a certified Scrum master. He is co-author of An Introduction to XML and its Family of Technologies. Shalloway holds a master's degree in computer science from MIT.
James R. Trott currently works as a senior consultant for a large financial institution in the Pacific Northwest. He has used object-oriented and pattern-based analysis techniques throughout his 20-year career in knowledge management and knowledge engineering. He holds a master of science in applied mathematics, an MBA, and a master of arts in intercultural studies.
© Copyright Pearson Education. All rights reserved.
"One of the great things about the book is the way the authors explain concepts very simply using analogies rather than programming examplesthis 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 patternswithout 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 Patterna 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 perfect complement to Gamma's classic Design Patterns. If you're a programmer or architect who wants the clearest possible understanding of design patternsor if you've struggled to make them work for youread this book.
© Copyright Pearson Education. All rights reserved.
View a Sample Chapter PDF: /samplechapter/0321247140.pdf
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, contact your Pearson Higher Education representative for pricing and ordering information.
This title is a member of the Software Patterns Series, which also contains the titles below . You can also visit the Software Patterns Series page.
Design Patterns Explained: A New Perspective on Object-Oriented Design, 2/E
Shalloway & Trott
© 2005 | Addison-Wesley Professional | Paper; 480 pages | Instock
ISBN-10: 0321247140 | ISBN-13: 9780321247148
Brief Description | Buy from myPearsonStore
Design Patterns Java™ Workbook
Metsker
© 2002 | Addison-Wesley Professional | Paper; 496 pages | Instock
ISBN-10: 0201743973 | ISBN-13: 9780201743975
Brief Description | Buy from myPearsonStore
The Design Patterns Smalltalk Companion
Alpert, Brown & Woolf
© 1998 | Addison-Wesley Professional | Paper; 464 pages | Instock
ISBN-10: 0201184621 | ISBN-13: 9780201184624
Brief Description | Buy from myPearsonStore
Design Patterns in C#
Metsker
© 2004 | Addison-Wesley Professional | Cloth; 480 pages | Instock
ISBN-10: 0321126971 | ISBN-13: 9780321126979
Brief Description | Buy from myPearsonStore
Design Patterns in Java™, 2/E
Metsker & Wake
© 2006 | Addison-Wesley Professional | Cloth; 480 pages | Instock
ISBN-10: 0321333020 | ISBN-13: 9780321333025
Buy from myPearsonStore
Design Patterns in Java™, Safari, 2/E
Metsker & Wake
© 2006 | Addison-Wesley Professional | On-line Supplement; 480 pages | Estimated Availability: 06/15/2009
ISBN-10: 0321630483 | ISBN-13: 9780321630483
URL: http://safari.informit.com
Pattern Hatching: Design Patterns Applied
Vlissides
© 1998 | Addison-Wesley Professional | Paper; 192 pages | Instock
ISBN-10: 0201432935 | ISBN-13: 9780201432930
Brief Description | Buy from myPearsonStore
Patterns for Parallel Programming
Mattson, Sanders & Massingill
© 2005 | Addison-Wesley Professional | Cloth; 384 pages | Instock
ISBN-10: 0321228111 | ISBN-13: 9780321228116
Buy from myPearsonStore
Software Configuration Management Patterns: Effective Teamwork, Practical Integration
Berczuk & Appleton
© 2003 | Addison-Wesley Professional | Paper; 256 pages | Instock
ISBN-10: 0201741172 | ISBN-13: 9780201741179
Buy from myPearsonStore
The book starts 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.
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.
In this book, intended as a language companion to Design Patterns: Elements of Reusable Object-Oriented Software by Gamma, Helm, Johnson & Vlissides, 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 best-seller. The full source code is available on Addison-Wesley's web site.
For students learning in the Microsoft environment, this book is a companion to the original Design Patterns text tailored to the C#. This book is an application book, rather than a theoretical one. It is written for students who want to gain a better understanding of the patterns described in the seminal design patterns book by Gamma et al. The book's intent is to give students the confidence and know-how to apply the original 23 patterns identified in the Gamma book, with all code examples provided in C#.
Software developers now recognize the value of design patterns in helping build better software more efficiently. As a result, design patterns have become extremely popular in the software development community. Pattern Hatching explains and enhances the information from the seminal work in the field, Design Patterns: Elements of Reusable Object-Oriented Software. The hands-on approach offered by John Vlissides, co-author of Design Patterns, enables you to better understand the pattern development process, and therefore identify and write your own patterns. The author's insights will further allow you to apply the original 23 patterns by example.
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, browse our available packages below, or contact your Pearson Higher Education representative to create your own package.
- Package ISBN-10: 0321452984 | ISBN-13: 9780321452986
©2005 | Instock | Suggested retail price: $122.79 | Buy from myPearsonStore
This package contains: - Design Patterns Explained: A New Perspective on Object-Oriented Design, 2/E
Shalloway & Trott | ©2005 | Addison-Wesley Professional | Paper; 480 pages - Object Oriented Software Development Using Java, 2/E
Jia | ©2003 | Addison-Wesley | Paper; 696 pages
