Design Patterns and Contracts - Softcover

9780201309591: Design Patterns and Contracts
View all copies of this ISBN edition:
 
 
Provides a guide to building design patterns to solve software engineering problems. Offers optimized solutions to common design problems, and provides a base for building reusable software. Softcover. DLC: Computer software-Development.

"synopsis" may belong to another edition of this title.

From the Inside Flap:

The idea of systematically identifying and documenting design patterns as autonomous entities was born in the late 1980s. It was brought into the mainstream by the Hillside Group, such people as Beck, Ward, Coplien, Booch, Kerth, and Johnson. However, the main event in this emerging field was the 1995 publication of the book Design Patterns: Elements of Reusable Object-Oriented Software (Gamma et al., 1995) by the so-called Gang of Four (GoF): Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.

Today, design patterns are widely accepted as useful tools for guiding and documenting the design of object-oriented software systems. Design patterns play many roles in the development process. They provide a common vocabulary for design, reduce system complexity by naming and defining abstractions, constitute a base of experience for building reusable software, and act as building blocks from which more complex designs can be built.

Design patterns can be considered reusable microarchitectures that contribute to an overall system architecture. Ideally, they capture the intent behind a design by identifying the component objects, their collaborations, and the distribution of responsibilities. The purpose of this book is to show how this intention can be made explicit, based on the notion of contract. A software contract captures mutual obligations and benefits among stakeholder components--for example, between the client of a service and the suppliers, including subclasses, of that service. Contracts strengthen and deepen interface specifications. Along the lines of abstract data type theory, a common way of specifying software contracts is to use Boolean assertions called pre- and postconditions for each service offered, as well as class invariants for defining general consistency properties. Then the contract reads as follows: The client should ask a supplier for a service only in a state in which the class invariant and the precondition of the service are respected. In return, the supplier promises that the work specified in the postcondition will be done and that the class invariant will still be respected. In this way, rights and obligations of both the client and the supplier are clearly delineated, along with their responsibilities.

This idea, first implemented in the Eiffel language (Meyer, 1992a) under the name Design by Contract, is now available in several other programming languages, such as Java, and even in the Unified Modeling Language (UML) with the Object Constraint Language (OCL) (Warmer and Kleppe, 1999). Like the design pattern idea, the Design by Contract is not tied to any particular language, but we need to choose one for describing concrete examples. We settled on Eiffel because it provides the right paradigms to address the construction of large, high-quality object-oriented software systems and is quite easy to master. This book can thus be used as a GoF's companion for the Eiffel community; however, we believe that this book will also be most useful to people more generally interested in obtaining the greatest benefit from the design patterns ideas in a quality-based software engineering framework. We describe many examples, using the UML notation, and we also explain, in Section C.1, how Design by Contract can be used with Java through the iContract tool (Kramer, 1998).

Part I of this book establishes the framework for using design patterns. Chapter 1 introduces the notion of design patterns and their role in the software life cycle. Chapter 2 outlines the arguments for an optimal use of design patterns in a quality-oriented software engineering process, based on Design by Contract and associated technologies.

The three chapters in Part II explain how the GoF creational, structural, and behavioral patterns can be augmented with contracts. For each of these design patterns, we simply review its name and intent from the GoF book and then discuss specific implementation issues and provide a complete example, ready to be compiled and run, of the use of the pattern in a hypothetical application. Only the most interesting parts of the source code are presented and discussed in this book; the full source code of each example, ready to be compiled and run with a free Eiffel compiler, is available on this book's Web site (see Appendix D for the details).

Part III illustrates how one can build on design patterns to solve interesting software engineering problems. Chapter 6 explains how creational design patterns can be leveraged to simplify software configuration management without impacting on the application's overall performance. Chapter 7 discusses how to combine patterns for building graphical user interfaces.

Finally, the book contains a detailed glossary (Appendix A) of object-oriented design concepts and terminology, pointers to further information on design patterns and Design by Contract (Appendix B) and a discussion of Design by Contract in other languages (Appendix C). Appendix D tells you how to get more information about this book. 0201309599P04062001

From the Back Cover:
Design Patterns and Contracts is a thought-provoking guide to building design patterns to solve software engineering problems. Design patterns have gained widespread acceptance today because they capture the best practices of software design. Patterns offer optimized solutions to common design problems, reduce complexity by naming and defining abstractions, and provide a base for building reusable software.

With Design Patterns and Contracts, object-oriented software practitioners have a new resource to help them further exploit the power of design patterns. This book introduces the fundamentals of software contracts and illustrates how Design by Contract contributes to the optimal use of design patterns in a quality-oriented software engineering process. The Design by Contract approach to software construction provides a methodological guideline for building systems that are robust, modular, and simple.

Readers will find value in the bookis overview of the Object Constraint Language, a precise modeling language that allows Design by Contract to be used with the industry standard Unified Modeling Language (UML). Although written in Eiffel, this book makes an excellent companion for developers who are using languages such as Java and UML. Throughout the book the authors discuss specific implementation issues and provide complete, ready-to-be-compiled examples of the use of each pattern. They introduce design patterns and Design by Contract in the context of software engineering, and show how these tools are used to guide and document system design. 0201309599B04062001

"About this title" may belong to another edition of this title.

  • PublisherAddison-Wesley
  • Publication date1999
  • ISBN 10 0201309599
  • ISBN 13 9780201309591
  • BindingPaperback
  • Edition number1
  • Number of pages368

Top Search Results from the AbeBooks Marketplace

Stock Image

Jean-Marc Je?ze?quel Christine Mingins Michel Train Jean-Marc Jezequel
Published by Longman Group (1999)
ISBN 10: 0201309599 ISBN 13: 9780201309591
New Softcover Quantity: 1
Seller:
Books Puddle
(New York, NY, U.S.A.)

Book Description Condition: New. pp. xv + 348 1st Edition. Seller Inventory # 262614973

More information about this seller | Contact seller

Buy New
US$ 25.34
Convert currency

Add to Basket

Shipping: US$ 3.99
Within U.S.A.
Destination, rates & speeds
Stock Image

Je?ze?quel Jean-Marc Mingins Christine Train Michel Jezequel Jean-Marc
Published by Longman Group (1999)
ISBN 10: 0201309599 ISBN 13: 9780201309591
New Softcover Quantity: 1
Seller:
Majestic Books
(Hounslow, United Kingdom)

Book Description Condition: New. pp. xv + 348 Illus. Seller Inventory # 5265762

More information about this seller | Contact seller

Buy New
US$ 24.31
Convert currency

Add to Basket

Shipping: US$ 8.14
From United Kingdom to U.S.A.
Destination, rates & speeds
Stock Image

Jezequel, Jean-Marc; Train, Michel; Mingins, Christine
Published by Addison-Wesley (1999)
ISBN 10: 0201309599 ISBN 13: 9780201309591
New Paperback Quantity: 1
Seller:
GoldenWavesOfBooks
(Fayetteville, TX, U.S.A.)

Book Description Paperback. Condition: new. New. Fast Shipping and good customer service. Seller Inventory # Holz_New_0201309599

More information about this seller | Contact seller

Buy New
US$ 38.71
Convert currency

Add to Basket

Shipping: US$ 4.00
Within U.S.A.
Destination, rates & speeds
Stock Image

Jezequel, Jean-Marc
Published by Addison-Wesley (1999)
ISBN 10: 0201309599 ISBN 13: 9780201309591
New Paperback Quantity: 1
Seller:
GoldBooks
(Denver, CO, U.S.A.)

Book Description Paperback. Condition: new. New Copy. Customer Service Guaranteed. Seller Inventory # think0201309599

More information about this seller | Contact seller

Buy New
US$ 39.63
Convert currency

Add to Basket

Shipping: US$ 4.25
Within U.S.A.
Destination, rates & speeds