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)

買這商品的人也買了...

商品描述


Table Of Contents

Preface.

I. DESIGN PATTERNS IN A SOFTWARE ENGINEERING CONTEXT.

1. A Software Engineering Perspective.
Introduction to Design Patterns.
Key Points.
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.

Toward Formalizing a Pattern-Based Software Process.
The Common Phases.
Two Levels of Decision.
Synthesis and Transformations.


2. Object-Oriented Design with Contracts.
Supporting Design Patterns with Contracts.
Choice of a Language.
Covariant Typing.
Controlled Multiple Inheritance.

Supporting OO Design.
Encapsulation and Information Hiding.
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.

Documenting the Use of Design Patterns.
Importance of Documentation.
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.
Abstract Factory (GoF 87).
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.

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).

III. BUILDING ON DESIGN PATTERNS.


6. Application to Software Configuration Management.
Introduction.
Software Configuration Management.
Variants in Software Systems.
Traditional Solutions.
Using SCM Tools.

Case Study: The Mercure Software System.
Object-Oriented Modeling of Variants.
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.

Performance Results.
Experimental Conditions.
Compilation.
Memory Footprint and Runtime Performance.

Discussion.
Bibliographic Notes.
Conclusion.

7. Combining Patterns for Building User Interfaces.
Problems and Strategies.
Building a Model.
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.

Analysis and Remarks.
Exposing Properties for Further Uses.
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.
Software Resources.
SmallEiffel.
Interactive Software Engineering Inc.
Halstenbach ACT GmbH.
Object Tools Inc.


C Design by Contract in Other Languages.
Design by Contract in Java.
The iContract Tool.
A Simple Example.

Design by Contract in UML.
Introduction to the OCL.
A Simple Example.


D. More Information about This Book.
Bibliography.
Index. 0201309599T04062001


Back to Top

商品描述(中文翻譯)

目錄

前言

I. 軟體工程中的設計模式

1. 軟體工程的觀點
設計模式簡介
主要重點
理解設計模式的概念
一個範例:觀察者模式
描述設計模式
與模式相關的概念
設計模式與框架

設計模式在軟體生命週期中的應用
軟體工程過程
使用 UML 建模問題與解決方案
從問題到解決方案的模式

朝向形式化的基於模式的軟體過程
常見階段
兩個層次的決策
合成與轉換

2. 使用契約的物件導向設計
使用契約支援設計模式
語言的選擇
協變類型
控制多重繼承

支援物件導向設計
封裝與資訊隱藏
模組化與耦合

實現設計模式的慣用法
存取重新定義特徵的原始版本
實現繼承與委派
類別變數
最終化
低複雜度的例程
命令-查詢區分
處理可選行為

記錄設計模式的使用
文件的重要性
使用繼承建模模式角色
使用索引條款記錄模式的使用
結論

II. 使用契約的 GoF 設計模式

3. 創建型模式
迷宮範例
在 Eiffel 中創建物件
使用創建型設計模式
抽象工廠 (GoF 87)
建造者 (GoF 97)
工廠方法 (GoF 107)
原型 (GoF 117)
單例 (GoF 127)

4. 結構型模式
適配器 (GoF 139)
橋接 (GoF 151)
組合 (GoF 163)
裝飾者 (GoF 175)
外觀 (GoF 185)
享元 (GoF 195)
代理

5. 行為型模式
責任鏈 (GoF 223)
命令 (GoF 233)
解釋器 (GoF 243)
迭代器 (GoF 257)
中介者 (GoF 273)
備忘錄 (GoF 283)
觀察者 (GoF 293)
狀態 (GoF 305)
策略 (GoF 315)
模板方法 (GoF 325)
訪問者 (GoF 331)

III. 基於設計模式的構建

6. 應用於軟體配置管理
簡介
軟體配置管理
軟體系統中的變體
傳統解決方案
使用 SCM 工具

案例研究:Mercure 軟體系統
變體的物件導向建模
應用創建型設計模式

編譯技術
類型推斷與代碼專門化原則
SmallEiffel 編譯器
SmallEiffel 中的活代碼與死代碼
SmallEiffel 中的專門化代碼生成

性能結果
實驗條件
編譯
記憶體佔用與執行性能

討論
參考文獻
結論

7. 結合模式以構建使用者介面
問題與策略
建立模型
介面建構器方法
模態或非模態互動:責任與禁止
從統一機制中獲得一致的介面

模型與設計
兩個世界與一座橋:從應用到介面
觀察者:總是相同;總是不同
圖形創建與綁定
追蹤模型路徑變更
觸發行動:傳遞資訊
組合與分組
引入控制:如何保持通用性
生成或重用:通用性的限制

分析與備註
曝露屬性以供進一步使用
具象化協作
設計元件;使用連接協議
性能問題
留下演進的空間

A. 詞彙表

B. 設計模式與契約設計指標
資訊來源
常見問題 (FAQ)(附答案)
郵件列表
網際網路
USENET
軟體資源
SmallEiffel
互動軟體工程公司
Halstenbach ACT GmbH
物件工具公司

C. 其他語言中的契約設計
Java 中的契約設計
iContract 工具
一個簡單的範例

UML 中的契約設計
OCL 簡介
一個簡單的範例

D. 本書的更多資訊
參考文獻
索引