23.07.2012 Views

Design Patterns Explained

Design Patterns Explained

Design Patterns Explained

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

326 Index<br />

code<br />

anticipating changes in, 5, 6-7<br />

debugging, 9, 10, 212<br />

introducing bugs into, 5<br />

modifiability of, 85<br />

organizing around objects vs. functions,<br />

14<br />

problem requiring flexible, 45, 57<br />

refactoring, 154 code examples. See<br />

C++; Java cohesion, 8, 63, 236 collection,<br />

18, 32 colon (:), connecting object and class<br />

with,<br />

40 combinatorial explosion, 167.<br />

See also class<br />

explosion<br />

Command pattern, 299<br />

commonality/variability analysis, 119,<br />

138-139, 199, 219, 307-309<br />

communication, improving team, 80, 84,<br />

86 companion Web site (for<br />

this book),<br />

313-314<br />

complexification, design, 189-190<br />

Composite pattern, 152, 299<br />

composition<br />

contrasted with aggregation, 35-36<br />

example of, 32<br />

favoring over inheritance, 233, 235<br />

compound design pattern, 152<br />

computer-aided design and manufacturing.<br />

See CAD/CAM conceptual perspective,<br />

13-14, 15, 110,<br />

119<br />

concrete class, 18 Concrete class,<br />

283 ConcreteComponent class,<br />

251 ConcreteFactory class, 176<br />

Concrete Implement or class, 151<br />

ConcreteProduct class, 288<br />

ConcreteStrategy class, 238<br />

CONNECT command, 279<br />

consequences, design pattern, 79<br />

constructor, 25, 26, 27<br />

contained objects, 117-119<br />

containing variation, principle of, 223-225<br />

containment, 32, 35<br />

context<br />

looking for what creates, 200-204<br />

principle of designing from, 218-222<br />

"context first" rule, 192, 202<br />

context-setting patterns, 203<br />

contextual design, 310, 312<br />

Coplien, Jim<br />

and Analysis Matrix, 291, 302<br />

and commonality/variability analysis,<br />

138-139<br />

and new perspective on design patterns,<br />

110<br />

coupling, 8-9, 63, 117. See also decoupling<br />

coupons, e-tailing case study, 269-271<br />

Courtyard pattern, 175-176, 191<br />

creational patterns, 264<br />

Creator class, 288<br />

cultural anthropology, origin of design<br />

patterns in, 72<br />

Customer class, 265-266<br />

customers, understanding, 296. See also<br />

user requirements<br />

CVA, 199. See also commonality/variability<br />

analysis<br />

D<br />

daemon rules, 267<br />

dashed line, showing dependency with, 38<br />

data-hiding, 1, 20, 112, 113, 140<br />

database<br />

instantiating, 285-286<br />

querying, 279-282 dataset,<br />

CAD/CAM, 48 debugging, 9,<br />

10, 212 decision tables, 291<br />

decomposition, functional<br />

and code changes, 5, 7-10<br />

defined, 4-5, 26, 27<br />

example of, 4<br />

problems with, 5, 8, 10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!