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