Today, I found it can't sperate chapters in w3m brower in text mode of Linux. So, copy the Contents section at here, and seperate chapters by indenting the character. It hasn't indented After the line consist of "*".
Contents
Preface 8
Introduction 11
The Y2K syndrome. 11
Context and composition. 12
A word about checked exceptions 13
The pattern concept 15
What is a pattern?. 15
Pattern taxonomy. 17
Design principles. 18
Classifying patterns. 19
The development challenge. 21
Unit testing. 21
Location of test code. 22
Simplifying Idioms 22
Messenger. 22
Collecting Parameter. 24
Object quantity 25
Singleton. 25
Exercises. 27
Object pool 27
Exercises. 30
Object decoupling 30
Proxy: fronting for another object 31
The PoolManager using Proxy. 33
Dynamic Proxies. 36
State: changing object behavior 38
Iterators: decoupling algorithms from containers 44
Type-safe iterators. 45
Exercises. 46
Factoring commonality 47
Strategy: choosing the algorithm at run-time 48
Policy: generalized strategy. 50
Template method. 50
Exercises. 52
Encapsulating creation 52
Simple Factory method. 53
Polymorphic factories. 55
Abstract factories. 58
Exercises. 61
Specialized creation 61
Prototype. 61
Builder. 62
Exercises. 66
Too many 66
Flyweight: too many objects. 66
Decorator: too many classes. 69
Basic decorator structure. 70
A coffee example. 70
Class for each combination. 70
The decorator approach. 73
Compromise. 78
Other considerations. 82
Exercises. 83
Connecting different types 84
Adapter. 84
Bridge. 87
Exercises. 93
Flexible structure 93
Composite. 93
System decoupling 95
Observer. 95
Observing flowers. 97
A visual example of observers. 101
Mediator. 103
Exercises. 104
Reducing interface complexity 104
Façade. 105
Package as a variation of Façade 106
Algorithmic partitioning 106
Command: choosing the operation at run-time 106
Exercises. 109
Chain of responsibility. 109
Exercises. 112
*******************************************************************************************************
Externalizing object state 113
Memento. 113
Complex interactions 114
Multiple dispatching. 114
Visitor, a type of multiple dispatching 117
Exercises. 119
Multiple languages 120
Interpreter motivation. 121
Python overview.. 122
Built-in containers. 123
Functions. 124
Strings. 125
Classes. 127
Creating a language. 130
Controlling the interpreter. 134
Putting data in. 134
Getting data out. 140
Multiple interpreters. 143
Controlling Java from Jython 144
Inner Classes. 148
Using Java libraries. 148
Inheriting from Java library classes 150
Creating Java classes with Jython 151
Building the Java classes from the Python code 156
The Java-Python Extension (JPE) 157
Summary. 157
Exercises. 158
Complex system states 159
StateMachine. 159
Exercises. 169
Table-Driven State Machine. 169
The State class. 171
Conditions for transition. 172
Transition actions. 172
The table. 172
The basic machine. 173
Simple vending machine. 174
Testing the machine. 179
Tools. 180
Table-driven code: configuration flexibility 180
Table-driven code using anonymous inner classes 180
Exercises. 180
Pattern refactoring 181
Simulating the trash recycler. 182
Improving the design. 186
“Make more objects”. 186
A pattern for prototyping creation 189
Trash subclasses. 193
Parsing Trash from an external file 195
Recycling with prototyping. 198
Abstracting usage. 199
Multiple dispatching. 203
Implementing the double dispatch 204
The Visitor pattern. 211
A Reflective Decorator. 214
More coupling?. 219
RTTI considered harmful?. 220
Summary. 223
Exercises. 224
Projects 225
Rats & Mazes. 225
Other maze resources. 230
XML Decorator. 230
A: Tools 230
Ant extensions. 231
Array utilities. 232
Download this book at: http://www.mindviewinc.com/downloads/TIPatterns-0.9.zip
Copy from:
Gang of Four Desing Patterns
There is relative UML model picture under every pattern at address above.
*****************************************************************************
Gang of Four Design Patterns
Behavioral patterns
· Chain of responsibility
· Command
· Interpreter
· Iterator
· Mediator
· Memento
· Observer
· State
· Strategy
· Template method
· Visitor
Creational patterns
· Abstract factory
· Builder
· Factory method
· Prototype
· Singleton
Structural patterns
· Adapter
· Bridge
· Composite
· Decorator
· Facade
· Flyweight
· Proxy