Pro .NET 2.0 Code And Design Standards In CSharp (2006) [eng]
.pdf
326 ■I N D E X
Reenskaug, Trygve, 173 standard, defined, 181 uses for, 176
view interface (IView), 177 modularity
aggregation association, 122 application of, 122 composition association, 122 defined, 122
implementing, 122 standard, defined, 122
Unified Modeling Language (UML), 122
■N
namespace application of, 30
classes, avoiding conflicts among, 30 defined, 30
namespace keyword, 30 nesting of, 30
standard, defined, 31
variables, avoiding conflicts among, 30 visibility as public, 30
.NET
accessibility of, summarized, 59 development languages and case
sensitivity, 26 network architecture application of, 109
defined, 109
design and maintenance of, 110 purpose of, 110
standard, defined, 110 new modifier
defined, 53 specifying, 53 standard, defined, 53 uses for, 53
Nunit, 11
■O
object browser comment defined, 93
example of XML delimiter use, 93 as a form of type documentation, 93 Microsoft Visual Studio and, 93 placing an XML comment within, 93 standard, defined, 94
object collaboration
Adapter design pattern, 150 benefits of, 150
Chain of Responsibility design pattern, 150
defined, 150 implementing, 150 standard, defined, 151
Observer pattern client code, 245–46 defined, 241 implementing, 241 pattern code, 243–45
pattern code, key ingredients, 243 pattern example, 242
purpose of, 241 standard, defined, 246 uses for, 241
overloading benefits of, 51 defined, 50 specifying, 51
standard, defined, 51 uses for, 51
overriding defined, 49
method signature, 49 override keyword, 50 specifying, 50 standard, defined, 50 uses for, 49
virtual keyword, 50
■P
partial type application of, 35 defined, 35
delegate class and, 35 example of, 35–36 nesting of, 35
splitting team development with, 35 standard, defined, 36
Pascal notation defined, 18 example of, 18 identifiers, use of, 18
naming convention in, 18 standard, defined, 19
use of, 18 pattern language
Alexander, Christopher, 172 benefits of, 172
computer science and, 174 defined, 171
“Gang of Four” (GoF) and, 172
as a grammar for communicating problems, 172
mapping problems to structured solutions, 171
Model–View–Controller (MVC) design pattern, 173
origins of, 172 problem type, 171 Reenskaug, Trygve, 173 solution type, 171
thinking and talking in, 173
peer review
code policy and, 10 defined, 10 implementing, 10 scope of, 10 standard, defined, 11
private modifier defined, 54 specifying, 54 standard, defined, 55 uses for, 54
property defined, 67
encapsulation and, 67 private member field, 67
public member field, debate over, 67 specifying, 68
standard, defined, 68 uses for, 67
protected internal modifier defined, 56
specifying, 57 standard, defined, 57 uses for, 56
protected modifier defined, 55 specifying, 55 standard, defined, 55 uses for, 55
Proxy pattern
architecture (Remote-Proxy), 210 client code (Remote-Proxy), 216–18 client code (Surrogate-Proxy), 208–9 code (Remote-Proxy), 210–11
command-line example (Remote-Proxy), 261–68
composition, use of, 204–5 defined, 204 implementing, 204
.NET Remoting, 209
pattern code (Remote-Proxy), 212–16 pattern code (Remote-Proxy), key
ingredients, 212
pattern code (Surrogate-Proxy), 206–8 pattern code (Surrogate-Proxy), key
ingredients, 206
pattern example (Remote-Proxy), 209 pattern example (Surrogate-Proxy), 204–5 purpose of, 204
Remote-Proxy pattern, 204
standard (Remote-Proxy), defined, 218 standard (Surrogate-Proxy), defined, 209 Surrogate-Proxy pattern, 204
TCP transport protocol, 209 uses for, 204
■I N D E X 327
public modifier defined, 57 specifying, 57 standard, defined, 58 uses for, 57
■R
Rational Unified Process (RUP)
code development methodology and, 8 core best practices, 9
defined, 9
Reenskaug, Trygve, 150, 173 website of, 173
refactoring application of, 12 benefits of, 12 defined, 12 Fowler, Martin, 12
standard, defined, 12
■S
sealed modifier defined, 52 specifying, 52 standard, defined, 53 uses for, 52
Service-oriented architecture (SOA) application of, 114
defined, 114
Enterprise Application Integration (EAI), 114
hub-n-spoke model, 114 message bus model, 114, 116 purpose of, 114
standard, defined, 116 Web service model, 114
services application defined, 131 development of, 131 purpose of, 131 standard, defined, 131
Singleton pattern client code, 201–2 defined, 199 implementing, 199
pattern code, 200–201
pattern code, key ingredients, 200 pattern example, 199–200 purpose of, 199
standard, defined, 202 uses for, 199
source-code control benefits of, 14 CVS, 14
defined, 14 developer use of, 15
328 ■I N D E X
implementing, 14
Microsoft Visual SourceSafe and, 14 standard, defined, 15
start-from-scratch application solution defined, 157
implementing, 157
Rapid Application Development (RAD), 157
standard, defined, 157 static type modifier
defined, 58 specifying, 58 standard, defined, 58 uses for, 58
utility classes and, 58 Strategy pattern
client code, 250 defined, 247 implementing, 247 pattern code, 249–50
pattern code, key ingredients, 248 pattern example, 247
purpose of, 247 standard, defined, 250 uses for, 247
struct type application of, 33
as class alternative, 34 defined, 33
example of, 33–34 inheritance and, 33 interface type and, 33
memory resource allocation and, 33 partial type and, 35
standard, defined, 34 as value type, 33
structural design defined, 119 purpose of, 120
standard, defined, 120 uses for, 119
structural patterns defined, 203 implementing, 203 pattern examples, 204 purpose of, 203
uses for, 203
supplementary development policies code development methodology and, 10 in-house standards and, 10
switch-case statement
break statement within, 73 default label within, 73 defined, 72
specifying, 73 standard, defined, 73
switch parameter, valid types of, 72 uses for, 72
■T
target architecture defined, 106 purpose of, 107
standard, defined, 107 technical architecture
application of, 110 defined, 110 implementing, 110
middleware software and, 110 Model–View–Controller (MVC) design
pattern, 110 purpose of, 110 standard, defined, 111
technical specification documentation accessibility of, 161
defined, 161 implementing, 161 purpose of, 161 standard, defined, 162 template for, 161–62
Template Method pattern client code, 254 defined, 251 implementing, 251 pattern code, 253
pattern code, key ingredients, 252 pattern example, 251–52 purpose of, 251
standard, defined, 254 uses for, 251
throw statement
Common Language Runtime (CLR), 77 defined, 77
specifying, 77 standard, defined, 77 try-catch block and, 76 uses for, 77
TOGAF defined, 103
Open Group and, 103, 127 try-catch statement
defined, 77
finally statement and, 78 specifying, 78
standard, defined, 78 uses for, 78
try-catch-finally statement defined, 79
specifying, 80 standard, defined, 80 uses for, 79
■I N D E X 329
try-finally statement |
developing across layers, 148 |
defined, 78 |
implementing, 149 |
specifying, 79 |
standard, defined, 150 |
standard, defined, 79 |
Vlissides, John, 169, 172 |
try-catch statement and, 79 |
■W |
uses for, 79 |
|
■U |
while statement |
defined, 81 |
|
unit test |
specifying, 82 |
class functionality and, 11 |
standard, defined, 82 |
code development and, 11 |
uses for, 82 |
defined, 11 |
Woolf, Bobby, 156 |
object functionality and, 11 |
■X |
standard, defined, 11 |
|
unit test framework, 11 |
XML comment |
■V |
advantages/disadvantages of, 94 |
defined, 92 |
|
variable |
example with line/block comments, 94–95 |
defined, 69 |
example of delimiter use, 92 |
specifying, 69 |
Microsoft Visual Studio XML |
standard, defined, 69 |
Documentator, 92 |
uses for, 69 |
placement of, 92 |
vertical design development |
standard, defined, 93 |
benefits of, 149 |
|
defined, 148 |
|
