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.

sales-order architecture, e-tail system,<br />

232, 233 sales-tax<br />

algorithm/rule, 234-237,<br />

239-240, 256-257 scalability,<br />

221 SELECT command, 279, 280<br />

seniormost pattern, 203, 205, 222<br />

Sequence Diagram, 30, 38-40, 131<br />

SequencelnputStream class, 250<br />

Shape class<br />

creating, 97<br />

deriving new classes from, 100, 128<br />

implementing behaviors for, 98<br />

shape-drawing programs, 125-136,<br />

141-149, 157-161 Shape object,<br />

111-112 Shapes program, 4, 22-23<br />

sheet-metal expert system, 45-47. See also<br />

CAD/CAM<br />

side effects, unwanted, 9, 10, 24<br />

Silverstein, Murray, 72 single-threaded<br />

applications, 255, 261 Singleton pattern,<br />

255-258<br />

code examples, 257, 262<br />

contrasted with Double -Checked<br />

Locking pattern, 255, 261<br />

and e-tailing case study, 256-257<br />

how it works, 256<br />

intent/purpose of, 255, 256, 258<br />

key features of, 258<br />

and multithreaded applications, 255,<br />

259, 261<br />

simplified view of, 258<br />

smart data, 110 software<br />

design<br />

applying building-design principles to,<br />

186, 188, 193-194<br />

and open-closed principle, 218<br />

and preformed parts, 188<br />

and principle of containing variation,<br />

223-225<br />

Index 333<br />

and principle of designing from context,<br />

218-222<br />

rules for good, 192-193<br />

software development<br />

anticipating changes to code, 5, 6-7,<br />

229-232<br />

breaking problem into steps, 4-5<br />

focusing on short-term vs. long-term<br />

issues, 229-232<br />

Fowler's perspectives, 13-14, 15-16<br />

object-oriented approach to, 1, 14-21<br />

(See also object-oriented paradigm)<br />

specialized classes, 114 specification<br />

perspective, 13, 16, 119-121 SQL database,<br />

accessing, 279-282 State Diagram, 30<br />

Strategy pattern, 237-240<br />

and Abstract Factory pattern, 300<br />

and class explosion, 239-240<br />

and e-tailing case study, 239-240, 298<br />

intent/purpose of, 237, 238<br />

key features of, 238<br />

object-oriented principles used in, 237<br />

simplified view of, 238 stream I/O,<br />

248-250 StringBuf ferlnputstream class,<br />

250 structural patterns, 264 structured<br />

programming, 3, 10, 26 Structured Query<br />

Language, 279 subclass, 18, 114 superclass,<br />

19, 27 switches, 165, 166, 167, 169<br />

synchronization, 258, 260<br />

T<br />

target class, 102<br />

tax-calculation algorithm/rule, 234-237,<br />

239-240, 256-257<br />

taxAmount method, 235<br />

Template Method pattern, 280-284<br />

and Analysis Matrix, 299 and<br />

e-tailing case study, 280-282

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

Saved successfully!

Ooh no, something went wrong!