Design patterns explained - Alan Shalloway , James R. Trott - Librairie Eyrolles

Déjà client ? Identifiez-vous

Mot de passe oublié ?

Nouveau client ?

CRÉER VOTRE COMPTE
Design patterns explained
Ajouter à une liste

Librairie Eyrolles - Paris 5e
Indisponible

Design patterns explained

Design patterns explained

A new perspective on object-oriented design

Alan Shalloway, James R. Trott

334 pages, parution le 01/08/2001

Résumé

Design Patterns Explained: A New Perspective on Object-Oriented Design draws together the principles of object-oriented programming with the power of design patterns to create an environment for robust and reliable software development. Packed with practical and applicable examples, this book teaches you to solve common programming problems with patterns—and explains the advantages of patterns for modern software design.

Beginning with a complete overview of the fundamentals of patterns, Design Patterns Explained stresses the importance of analysis and design. The authors clearly demonstrate how patterns can facilitate the overall development process. Throughout the book, key object-oriented design principles are explained, along with the concepts and benefits behind specific patterns. With illustrative examples in C++ and Java, the book demystifies the "whys," "why nots," and "hows" of patterns and explains pattern implementation.

Key topics covered include:

  • New perspectives on objects, encapsulation, and inheritance
  • The idea of design patterns, their origins, and how they apply in the discipline of softwaredesign
  • Pattern-based, object-oriented software development using the Unified Modeling Language (UML)
  • How to implement critical patterns—Strategy, Observer, Bridge, Decorator, and many more
  • Commonality/Variability Analysis and design patterns, and how they aid in understanding abstract classes

From analysis to implementation, Design Patterns Explained allows you to unleash the true potential of patterns and paves the path for improving your overall designs. This book provides newcomers with a genuinely accurate and helpful introduction to object-oriented design patterns.


Table of Contents
From Object Orientation to Patterns to True Object Orientation.
From Artificial Intellegence to Patterns to True Object Orientation.
A Note About Conventions Used in this Book.
Feedback.
Acknowledgements.

I. AN INTRODUCTION TO OBJECT-ORIENTED SOFTWARE DEVELOPMENT.

1. The Object-Oriented Paradigm.
Before The Object-Oriented Paradigm: Functional Decomposition.
The Problem of Requirements.
Dealing With Changes: With Functional Decomposition.
Dealing with Changing RequirementS.
The Object-Oriented Paradigm.
Special Object Methods.
Summary.

2. The UML - The Unified Modeling Language.
Overview.
What is the UML?
Why Use the UML?
The Class Diagram.
Interaction Diagrams.
Summary.

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.

4. A Standard Object-Oriented Solution.
Overview.
Solving With Special Cases.
Summary.
Supplement: C++ Code Examples.

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 to Studying Design Patterns.
Summary.

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.

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.
Supplement: C++ Code Examples

8. Expanding Our Horizons.
Overview.
Objects the Old Way and the New Way.
Encapsulation the Old Way and the New Way.
Find What is Varying and Encapsulate It.
Commonality / Variability and Abstract Classes.
Summary.

9. The Bridge Pattern.
Overview.
Introducing the Bridge Pattern.
An Observation about Using Design Patterns.
Learning the Bridge Pattern: An Example.
The Bridge Pattern In Retrospect.
Field Notes: Using the Bridge Pattern.
Summary.

10. The Abstract Factory Pattern.
Overview.
Introducing the Abstract Factory Pattern.
Learning the Abstract Factory Pattern: An Example.
Learning the Abstract Factory: Implementing It.
Field Notes: The Abstract Factory.
Relating the Abstract Factory Pattern to the CAD/CAM Problem.
Summary.
Supplement: C++ Code Examples.

IV. PUTTING IT ALL TOGETHER: THINKING IN PATTERNS.


11. How Do Experts Design?
Section Overview.
Overview.
Building by Adding Distinctions.
Summary.

12. 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 2D (Facade).
Thinking in Patterns: Step 2D (Adapter).
Thinking in Patterns: Step 2D (Abstract Factory).
Thinking in Patterns: Step 3.
Comparison with the Previous Solution.
Summary.

13. The Principles and Strategies of Design Patterns.
Overview.
The Open-Closed Principle.
The Principle of Designing from Context.
The Principle of Containing Variation.
Summary.

V. HANDLING VARIATIONS WITH DESIGN PATTERNS.


14. The Strategy Pattern.
Overview.
An Approach to Handling New Requirements.
Initial Requirements of the Case Study.
Handling New Requirements.
The Strategy Pattern.
Field Notes: Using the Strategy Pattern.
Summary.

15. 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.
Summary.
Supplement: C++ Code Examples.

16. 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.
Field Notes: Using the Singleton and Double-Checked Locking Patterns.
Summary.
Supplement: C++ Code Examples.

17. The Observer Pattern.
Overview.
Categories of Patterns.
More Requirements for the Case Study.
The Observer Pattern.
Applying the Observer to the Case Study.
Field Notes: Using the Observer Pattern.
Summary.
Supplement : C++ Code Examples.

18. The Template Method Pattern.
Overview.
More Requirements for the Case Study.
The Template Method Pattern.
Applying the Template Method to the Case Study.
Field Notes: Using the Template Method Pattern.
Summary.

19. The Factory Method Pattern.
Overview.
More Requirements for the Case Study.
The Factory Method Pattern.
Field Notes: Using the Factory Method Pattern.
Summary.

20. The Analysis Matrix.
Overview.
In the Real World: Variations.
Case Study in Variation: An International E-Tail System.
Field Notes.
Summary.

VI. ENDINGS AND BEGINNINGS.


21. Design Patterns Reviewed From Our New Perspective of Object-Oriented Design.
Overview.
A Summary of Object-Oriented Principles.
How Design Patterns Encapsulate Implementations.
Commonality / Variability Analysis and Design Patterns.
Decomposing a Problem Domain Into Responsibilities.
Relationships Within a Pattern.
Patterns and Contextual Design.
Field Notes.
Summary.

22. Bibliography.
Design Patterns Explained: The Web Site Companion.
Recommended Reading on Design Patterns and Object Orientation.
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.

L'auteur - Alan Shalloway

Alan Shalloway est fondateur et président d'une entreprise spécialisée en conseil et en formation sur la programmation orientée objet. Diplômé du M.I.T., il possède une expérience de plus de trente ans en développement logiciel et donne actuellement de nombreux cours sur les desing patterns et la programmation orientée objet.

L'auteur - James R. Trott

James R. Trott est maintenant consultant pour une grande entreprise informatique après avoir longtemps travaillé pour une entreprise aérospatiale. Il possède une expérience de 17 ans en intelligence artificielle et en systèmes expert et est un expert en design patterns cognitifs et en méthodologie KADS (gestion des connaissances).

Caractéristiques techniques

  PAPIER
Éditeur(s) Addison Wesley
Auteur(s) Alan Shalloway, James R. Trott
Parution 01/08/2001
Nb. de pages 334
Format 18,8 x 23,4
Couverture Broché
Poids 557g
Intérieur Noir et Blanc
EAN13 9780201715941

Avantages Eyrolles.com

Livraison à partir de 0,01 en France métropolitaine
Paiement en ligne SÉCURISÉ
Livraison dans le monde
Retour sous 15 jours
+ d'un million et demi de livres disponibles
satisfait ou remboursé
Satisfait ou remboursé
Paiement sécurisé
modes de paiement
Paiement à l'expédition
partout dans le monde
Livraison partout dans le monde
Service clients sav@commande.eyrolles.com
librairie française
Librairie française depuis 1925
Recevez nos newsletters
Vous serez régulièrement informé(e) de toutes nos actualités.
Inscription