设计模式解析:英文版

设计模式解析:英文版
作 者: Alan Shalloway James Trott
出版社: 中国电力出版社
丛编项: 原版风暴·软件工程系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 软件过程
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《设计模式解析:英文版》作者简介

内容简介

本书将面向对象的编程原则与设计模式的强大功能结合起来创建了一个编程环境,用于开发健壮的和可靠的软件。书中包含很多实际的和可应用的实例,用来教你如何使用模式来解决常见的编程问题,以及解释如何利用模式的优势来进行高级软件设计。本书开始是对模式基础知识的一个概述,重点强调了分析以及设计的重要性。作者清晰地阐述了模式如何使整个开发过程变得更加容易。全书解释了面向对象设计的关键原则,并且解释了各种特定模式的概念和优势。通过分析C++和Java示例,本书提示了为什么、为什么不以及如何应用模式,而且解释了模式的实现。本书提供了从分析到实现的全过程,从而使你能够了解模式的内幕,并且为你提高自身的整体设计能力奠定基础。本书还为初学者提供了关于面向对象设计模式的准确和有帮助的入门介绍。

图书目录

Preface

From Object Orientation to Patterns

to True Object Orientation

From Artificial Intelligence to Patterns

to True Object Orientation

A Note About Conventions Used in This Book

Feedback

Acknowledgments

PART 1

An Introduction to Object-Oriented

Ware Development

Chaptor,

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

Chapter 2

The UML-The Unfifed Modeling Language

Overview

What Is the UML?

Why Use the UML?

The Class Diagram

Interaction Diagrams

Summary

PART ll

The Limitations of Traditional

Object-Oriented Design

Chapter 3

A ProbIem That Cries Out for FIexible Code

Overview

Extracting Information from a CAD/CAM System

Understand the Vocabulary

Describe the Problem

The Essential Challenges and Approaches

Summary

Chapter 4

A Standard Object-Oriented SoIution

Overview

Solving with Special Cases

Summary

Supplement: C++ Code Examples

PART Ill

Design Patterns

Chapter 5

An lntroduction 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

Chapter 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

Chapter 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 Example

Chapter 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/Variability and Abstract Classes

Summary

Chapter 9

The Brldge 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

Supplement: C++ Code Examples

Chaptor 1O

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

Supplement: C++ Code Examples

PART IV

Putting lt AIl Togrther: Thinking In Pattrrns

Chaptrr 11

How Do Expetrts Design?

Overview

Building by Adding Distinctions

Summary

Chaptrr 12

Solving the CAD/CAM Problem wlth Pattrrns_197

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: 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

Chapter 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

PART V

Handling Variations with Design Patterns

Chapter 14

The Strategy Pattern

Overview

An Approach to HandIing New Requirements

Initial Requirements of the Casc Study

Handling New Requirements,

The Strategy Pattern

Field Notes: Using the Strategy Pattern

Summary

Chapter 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

SuppIement: C++ Code Examples

Ohapter 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

Ohapter 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 Example

chapter 18

The TempIate 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

Chapter 19

The Factory Method Pattern

Overview

More Requirements for the Case Study

The Factory Method Pattern

Field Notes: Using the Factory Method Pattern

Summary

Chapter 2O

The Analysis Matrix

Overview

In the ReaI World: Variations

Case Study in Variation: An International E-Tail System

Field Notes

Summary

PART Vl

Endings and Beginnings

chapter 21

Oesign Patterns Reviewed

from the New Perspective of

Object-Orlented 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

Chapter 22

BibIiography

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