Names of design patterns appear in small capitals: e.g., ADAPTER. Page numbers in bold indicate the definition of a term. Numbers in italics indicate a diagram for the term. Letters after a diagram's page number indicate the kind of diagram: a "c" denotes a class diagram, an "i" denotes an interaction diagram, and an "o" denotes an object diagram. For example, 88co means that a class and object diagram appears on page 88.

M

MacApp
use of CHAIN OF RESPONSIBILITY 232
use of COMMAND 242
use of DECORATOR 179, 180
use of FACTORY METHOD 113, 115
Macbeth 1
MacFactory 50c
Macintosh 48, 52
MacroCommand235, 235c, 241
magic token 346
Manipulator 109, 110c
MapSite 82, 82c
Marriage of Convenience 149
Maze 82c, 84
MazeBuider 101
MazeFactory 92
as singleton 133
MazeGame 84, 114
MazePrototypeFactory122
MEDIATOR 273
combined with OBSERVER 299
compared with CHAIN OF RESPONSIBILITY 348
compared with FACADE282
compared with OBSERVER 346, 348
in catalog summary 9
use of delegation in 21
Mediator
communicating with Colleague 278, 282
participant of MEDIATOR 276co, 277, 348i
omitting abstract class of 278
mediator 274
member function 361, see also operation
MEMENTO 283
in catalog summary 9
Memento
combined with COMMAND 239, 287
participant of MEMENTO 285, 285c, 286i
memento 284
costs associated with 286
language support for 287
MemoryStream 183
Menu 50c, 233c
menu 233
configuring 60, 234
pull-down 58
MenuItem 59, 61c, 233, 233c
metaclass 133, 361
method 361, see also operation
Microsoft Windows 52
mixin class 16, 16c, 361
Model/View/Controller 4, 5
use of COMPOSITE5, 172
use of FACTORY METHOD 115
use of OBSERVER 5, 303
use of STRATEGY6
MonoGlyph 44, 45c
Motif 35, 47, 48, 49, 51, 87
MotifFactory 49, 50c
multiple dispatch, see dispatch, multiple
multiple inheritance, see also mixin class
used to implement class adapter 141
used to implement BRIDGE 156
MVC, see Model/View/Controller
Meyer, Bertrand 149