Design Patterns and Contracts (Paperback)
Jean-Marc Jezequel, Michel Train, Christine Mingins
- 出版商: Addison Wesley
- 出版日期: 1999-10-27
- 售價: $1,360
- 貴賓價: 9.5 折 $1,292
- 語言: 英文
- 頁數: 368
- 裝訂: Paperback
- ISBN: 0201309599
- ISBN-13: 9780201309591
-
相關分類:
Design Pattern
立即出貨(限量) (庫存=7)
買這商品的人也買了...
-
$1,580$1,501 -
$680$537 -
$1,260A Practical Guide to Testing Object-Oriented Software (Paperback)
-
$1,840$1,748 -
$1,274Computer Architecture: A Quantitative Approach, 3/e(精裝本)
-
$1,029Operating System Concepts, 6/e (Windows XP Update)
-
$860$731 -
$1,805Test-Driven Development: By Example (Paperback)
-
$590$466 -
$720$569 -
$480$379 -
$1,986Code Complete: A Practical Handbook of Software Construction, 2/e (Paperback)
-
$2,500$2,375 -
$380$300 -
$880$695 -
$1,890$1,796 -
$880$616 -
$580$458 -
$450$351 -
$680SQL: A BEGINNER'S GUIDE, 3/e
-
$1,224Databases A Beginner's Guide (Paperback)
-
$1,260Data Modeling: A Beginner's Guide (Paperback)
-
$1,260Elemental Design Patterns (Hardcover)
-
$750Machine Learning Refined: Foundations, Algorithms, and Applications (Hardcover)
-
$390$304
相關主題
商品描述
Table Of Contents
Preface.I. DESIGN PATTERNS IN A SOFTWARE ENGINEERING CONTEXT.
1. A Software Engineering Perspective. Introduction to Design Patterns.
Design Patterns in the Software Life Cycle.
Toward Formalizing a Pattern-Based Software Process.
Key Points.
Understanding the Notion of Design Patterns.
An Example: The Observer Pattern.
Describing Design Patterns.
Notions Related to Patterns.
Design Patterns and Frameworks.
Understanding the Notion of Design Patterns.
An Example: The Observer Pattern.
Describing Design Patterns.
Notions Related to Patterns.
Design Patterns and Frameworks.
Design Patterns in the Software Life Cycle.
A Software Engineering Process.
Modeling Problems and Solutions with UML.
From Problems to Solutions with Patterns.
Modeling Problems and Solutions with UML.
From Problems to Solutions with Patterns.
Toward Formalizing a Pattern-Based Software Process.
The Common Phases.
Two Levels of Decision.
Synthesis and Transformations.
Two Levels of Decision.
Synthesis and Transformations.
2. Object-Oriented Design with Contracts.
Supporting Design Patterns with Contracts.
Supporting OO Design.
Idioms for Implementing Design Patterns.
Documenting the Use of Design Patterns.
Choice of a Language.
Covariant Typing.
Controlled Multiple Inheritance.
Covariant Typing.
Controlled Multiple Inheritance.
Supporting OO Design.
Encapsulation and Information Hiding.
Modularity and Coupling.
Modularity and Coupling.
Idioms for Implementing Design Patterns.
Accessing the Original Version of a Redefined Feature.
Implementing Inheritance and Delegation.
Class Variables.
Finalization.
Low Complexity of Routines.
Command-Query Distinction.
Dealing with Optional Behaviors.
Implementing Inheritance and Delegation.
Class Variables.
Finalization.
Low Complexity of Routines.
Command-Query Distinction.
Dealing with Optional Behaviors.
Documenting the Use of Design Patterns.
Importance of Documentation.
Modeling Pattern Roles with Inheritance.
Documenting the Use of Patterns with the Indexing Clause.
Conclusion.
Modeling Pattern Roles with Inheritance.
Documenting the Use of Patterns with the Indexing Clause.
Conclusion.
II. GoF DESIGN PATTERNS WITH CONTRACTS.
3. Creational Patterns.
The Maze Example.
Creating Objects in Eiffel.
Using Creational Design Patterns.
Creating Objects in Eiffel.
Using Creational Design Patterns.
Abstract Factory (GoF 87).
Builder (GoF 97).
Factory Method (GoF 107).
Prototype (GoF 117).
Singleton (GoF 127).
Builder (GoF 97).
Factory Method (GoF 107).
Prototype (GoF 117).
Singleton (GoF 127).
4. Structural Patterns.
Adapter (GoF 139).
Bridge (GoF 151).
Composite (GoF 163).
Decorator (GoF 175).
Façade (GoF 185).
Flyweight (GoF 195).
Proxy.
Bridge (GoF 151).
Composite (GoF 163).
Decorator (GoF 175).
Façade (GoF 185).
Flyweight (GoF 195).
Proxy.
5. Behavioral Patterns.
Chain of Responsibility (GoF 223).
Command (GoF 233).
Interpreter (GoF 243).
Iterator (GoF 257).
Mediator (GoF 273).
Memento (GoF 283).
Observer (GoF 293).
State (GoF 305).
Strategy (GoF 315).
Template Method (GoF 325).
Visitor (GoF 331).
Command (GoF 233).
Interpreter (GoF 243).
Iterator (GoF 257).
Mediator (GoF 273).
Memento (GoF 283).
Observer (GoF 293).
State (GoF 305).
Strategy (GoF 315).
Template Method (GoF 325).
Visitor (GoF 331).
III. BUILDING ON DESIGN PATTERNS.
6. Application to Software Configuration Management.
Introduction.
Software Configuration Management.
Case Study: The Mercure Software System.
Compilation Technology.
Performance Results.
Discussion.
Bibliographic Notes.
Conclusion.
Software Configuration Management.
Variants in Software Systems.
Traditional Solutions.
Using SCM Tools.
Traditional Solutions.
Using SCM Tools.
Case Study: The Mercure Software System.
Object-Oriented Modeling of Variants.
Applying Creational Design Patterns.
Applying Creational Design Patterns.
Compilation Technology.
Principle of Type Inference and Code Specialization.
The SmallEiffel Compiler.
Living and Dead Code in SmallEiffel.
Specialized Code Generation in SmallEiffel.
The SmallEiffel Compiler.
Living and Dead Code in SmallEiffel.
Specialized Code Generation in SmallEiffel.
Performance Results.
Experimental Conditions.
Compilation.
Memory Footprint and Runtime Performance.
Compilation.
Memory Footprint and Runtime Performance.
Discussion.
Bibliographic Notes.
Conclusion.
7. Combining Patterns for Building User Interfaces.
Problems and Strategies.
Models and Designs.
Analysis and Remarks.
Building a Model.
The Interface Builder Approach.
Modal or Nonmodal Interaction: Responsibility versus Forbidding.
A Consistent Interface from Uniform Mechanisms.
The Interface Builder Approach.
Modal or Nonmodal Interaction: Responsibility versus Forbidding.
A Consistent Interface from Uniform Mechanisms.
Models and Designs.
Two Worlds and a Bridge: From Application to Interface.
The Observer: Always the Same; Always Different.
Graphics Creation and Binding.
Keeping Track of Model Path Changes.
Triggering Actions: Passing Information Around.
Combining and Grouping.
Introducing Control: How to Stay Generic.
Generating or Reusing: The Limits of Genericity.
The Observer: Always the Same; Always Different.
Graphics Creation and Binding.
Keeping Track of Model Path Changes.
Triggering Actions: Passing Information Around.
Combining and Grouping.
Introducing Control: How to Stay Generic.
Generating or Reusing: The Limits of Genericity.
Analysis and Remarks.
Exposing Properties for Further Uses.
Reifying Collaborations.
Designing Components; Using Connection Protocols.
Performance Issues.
Leaving Room for Evolution.
Reifying Collaborations.
Designing Components; Using Connection Protocols.
Performance Issues.
Leaving Room for Evolution.
A. Glossary.
B. Design Pattern and Design by Contract Pointers.
Sources of Information.
Frequently Asked Questions (FAQ) (with Answers).
Mailing Lists.
World Wide Web.
USENET.
Frequently Asked Questions (FAQ) (with Answers).
Mailing Lists.
World Wide Web.
USENET.
Software Resources.
SmallEiffel.
Interactive Software Engineering Inc.
Halstenbach ACT GmbH.
Object Tools Inc.
SmallEiffel.
Interactive Software Engineering Inc.
Halstenbach ACT GmbH.
Object Tools Inc.
C Design by Contract in Other Languages.
Design by Contract in Java.
Design by Contract in UML.
The iContract Tool.
A Simple Example.
A Simple Example.
Design by Contract in UML.
Introduction to the OCL.
A Simple Example.
A Simple Example.
D. More Information about This Book.
Bibliography.
Index. 0201309599T04062001
商品描述(中文翻譯)
目錄
前言
第一部分:軟體工程背景下的設計模式
1. 軟體工程觀點
- 設計模式介紹
- 理解設計模式的概念
- 例子:觀察者模式
- 描述設計模式
- 與模式相關的概念
- 設計模式與框架
- 軟體生命週期中的設計模式
- 基於模式的軟體過程
2. 帶有合約的物件導向設計
- 用合約支援設計模式
- 選擇語言
- 協變型別
- 受控多重繼承
- 支援物件導向設計
- 封裝和資訊隱藏
- 模組化和耦合
- 實現設計模式的習慣用法
- 存取重新定義特性的原始版本
- 實現繼承和委派
- 類別變數
- 結束
3. GoF設計模式與合約
- 創建型模式
- 結構型模式
- 行為型模式
第二部分:建立在設計模式之上
6. 應用於軟體配置管理
- 簡介
- 軟體配置管理
- 案例研究:Mercure軟體系統
- 編譯技術
- 小結