Design Patterns in the VCL -- Glossary

[ Start Here | Outline | Glossary | Links ]


[ A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z ]

A

Return to top of glossary.

B

Return to top of glossary.

C

Context

The setting in which a pattern may be applied. In particular, the context enumerates the forces which make up the problem which the pattern addresses, and makes clear the dynamic tension which those forces create.

The context of a pattern should clearly specify the conditions under which it applies: generally this means detailing the forces and any prerequisite conditions.

The context may also refer to other patterns, both those which work to resolve similar sets of forces and those whose application might contribute to the current context. Patterns which highlight such inter-connections form a pattern language.

Consequences

The results of applying a pattern, both pro and con. For example, many design patterns increase the flexibility of a software design by introducting one or more additional layers of indirection (e.g., virtual methods, highly-normalized database schemae). In some applications, this indirection may result in unacceptable performance; the pattern's consequences should make such trade-offs clean.

Like the context, the consequences may also refer to other patterns, in particular those likely to apply to the design as transformed by the current pattern. Patterns which highlight such inter-connections form a pattern language.

Return to top of glossary.

D

Dynamic Tension

Conflicts between the forces which make up the context of a pattern. The pattern resolves these confilcts, either by satisfying one or more of them, or by creating an equilibrium among them.
Return to top of glossary.

E

Return to top of glossary.

F

Forces

The various pressures which bear on a given design problem, whose conflicting demands create the dynamic tension which a pattern attempts to resolve, E.g., in a product development cycle, deadline pressure and non-core functionality are forces which create problems for the product management team.
Return to top of glossary.

G

Return to top of glossary.

H

Return to top of glossary.

I

Return to top of glossary.

J

Return to top of glossary.

K

Return to top of glossary.

L

Return to top of glossary.

M

Return to top of glossary.

N

Return to top of glossary.

O

Return to top of glossary.

P

Pattern

(oversimplifying) A solution to a recurring problem, based on the (also recurring) context in which the problem arises.

Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice. -- Christopher Alexander, A Pattern Language, p. x.

Pattern Language

A densely-interconnected set of patterns for a given family of designs. The patterns in a pattern languate produce, through their collaborations, structures which have emergent qualities, i.e., those which might not be evident from the application of any single pattern.
Return to top of glossary.

Q

Return to top of glossary.

R

Return to top of glossary.

S

Return to top of glossary.

T

Return to top of glossary.

U

Return to top of glossary.

V

Return to top of glossary.

W

Return to top of glossary.

X

Return to top of glossary.

Y

Return to top of glossary.

Z

Return to top of glossary.
These pages maintained by Tres Seaver of Palladion Software . Copyright 1998, all rights reserved.