Software architecture design patterns in Java

Free Download

Authors:

Edition: 1

ISBN: 9780849321429, 0-8493-2142-5

Size: 3 MB (2746922 bytes)

Pages: 476/476

File format:

Language:

Publishing Year:

Category:

Partha Kuchana9780849321429, 0-8493-2142-5

Software engineering and computer science students need a resource that explains how to apply design patterns at the enterprise level, allowing them to design and implement systems of high stability and quality.Software Architecture Design Patterns in Java is a detailed explanation of how to apply design patterns and develop software architectures. It provides in-depth examples in Java, and guides students by detailing when, why, and how to use specific patterns. This textbook presents 42 design patterns, including 23 GoF patterns. Categories include: Basic, Creational, Collectional, Structural, Behavioral, and Concurrency, with multiple examples for each. The discussion of each pattern includes an example implemented in Java. The source code for all examples is found on a companion Web site.The author explains the content so that it is easy to understand, and each pattern discussion includes Practice Questions to aid instructors. The textbook concludes with a case study that pulls several patterns together to demonstrate how patterns are not applied in isolation, but collaborate within domains to solve complicated problems.

Table of contents :
Team DDU……Page 1
DEDICATION……Page 6
FOREWORD……Page 16
ABOUT THE AUTHOR……Page 18
ACKNOWLEDGMENTS……Page 19
Table of Contents……Page 7
SECTION I. AN INTRODUCTION TO DESIGN PATTERNS……Page 21
ARCHITECTURAL TO SOFTWARE DESIGN PATTERNS……Page 22
MORE ABOUT DESIGN PATTERNS……Page 23
Source Code Disclaimer……Page 25
SECTION II. UNIFIED MODELING LANGUAGE (UML)……Page 26
MODEL MANAGEMENT DIAGRAMS……Page 27
Class……Page 28
Inner Class……Page 29
Static……Page 30
Generalization……Page 31
Interface……Page 32
Dependency……Page 33
Navigability……Page 34
Aggregation……Page 35
Message……Page 36
Self Call……Page 37
SECTION III. BASIC PATTERNS……Page 38
DESCRIPTION……Page 40
EXAMPLE……Page 41
PRACTICE QUESTIONS……Page 47
DESCRIPTION……Page 48
EXAMPLE……Page 49
Abstract Parent Class versus Interface……Page 50
PRACTICE QUESTIONS……Page 52
EXAMPLE……Page 54
PRACTICE QUESTIONS……Page 55
DESCRIPTION……Page 56
EXAMPLE……Page 57
DIRECT REFERENCE VERSUS ACCESSOR METHODS……Page 58
PRACTICE QUESTIONS……Page 60
EXAMPLE……Page 63
PRACTICE QUESTIONS……Page 64
DESCRIPTION……Page 68
PRACTICE QUESTIONS……Page 73
EXAMPLE……Page 76
PRACTICE QUESTIONS……Page 77
SECTION IV. CREATIONAL PATTERNS……Page 78
DESCRIPTION……Page 79
EXAMPLE……Page 81
PRACTICE QUESTIONS……Page 85
EXAMPLE……Page 87
Static Public Interface to Access an Instance……Page 89
PRACTICE QUESTIONS……Page 91
DESCRIPTION……Page 92
ABSTRACT FACTORY VERSUS FACTORY METHOD……Page 93
EXAMPLE I……Page 94
EXAMPLE II……Page 102
Logical Flow When the Application Is Run……Page 106
PRACTICE QUESTIONS……Page 107
DESCRIPTION……Page 108
SHALLOW COPY VERSUS DEEP COPY……Page 109
Shallow Copy Example……Page 110
Deep Copy Example……Page 112
EXAMPLE I……Page 115
Class……Page 116
EXAMPLE II……Page 119
Class……Page 121
Create a Prototype Factory Class……Page 122
PRACTICE QUESTIONS……Page 124
DESCRIPTION……Page 126
A Side Note ………Page 129
Back to the Example Application ………Page 134
EXAMPLE II……Page 137
EXAMPLE III……Page 144
PRACTICE QUESTIONS……Page 147
SECTION V. COLLECTIONAL PATTERNS……Page 148
DESIGN APPROACH I……Page 149
DirComponent……Page 150
DESIGN APPROACH II……Page 151
PRACTICE QUESTIONS……Page 156
ITERATORS IN JAVA……Page 158
INTERNAL VERSUS EXTERNAL ITERATORS……Page 159
CLIENT/CONTAINER INTERACTION……Page 160
EXAMPLE: EXTERNAL FILTERED ITERATOR……Page 164
PRACTICE QUESTIONS……Page 170
DESCRIPTION……Page 172
DESIGN HIGHLIGHTS……Page 173
EXAMPLE……Page 176
DESIGN APPROACH I……Page 177
DESIGN APPROACH II……Page 181
PRACTICE QUESTIONS……Page 185
Design Idea 1……Page 189
ADDING OBJECTS OF A NEW TYPE TO THE COLLECTION……Page 190
DESIGN APPROACH I……Page 191
DESIGN APPROACH III (COMPOSITE PATTERN)……Page 192
DESIGN APPROACH IV (THE VISITOR PATTERN)……Page 193
Application Flow……Page 194
PRACTICE QUESTIONS……Page 197
SECTION VI. STRUCTURAL PATTERNS……Page 202
EXAMPLE……Page 204
HTMLLogger……Page 207
EncryptLogger……Page 208
ADDING A NEW MESSAGE LOGGER……Page 209
ADDING A NEW DECORATOR……Page 210
PRACTICE QUESTIONS……Page 212
DESCRIPTION……Page 213
EXAMPLE……Page 214
ADDRESS ADAPTER AS AN OBJECT ADAPTER……Page 219
PRACTICE QUESTIONS……Page 225
DESCRIPTION……Page 227
EXAMPLE……Page 228
PRACTICE QUESTIONS……Page 235
DESCRIPTION……Page 237
EXAMPLE……Page 239
IMPORTANT NOTES……Page 244
PRACTICE QUESTIONS……Page 245
DESCRIPTION……Page 251
Proxy versus Decorator……Page 252
Proxy versus Façade……Page 253
RMI Components……Page 254
RMI Communication Mechanism……Page 255
EXAMPLE……Page 256
Compilation and Deployment Notes……Page 264
PRACTICE QUESTIONS……Page 267
DESCRIPTION……Page 268
EXAMPLE……Page 270
Abstraction Implementation Design……Page 271
Design Highlights of the Abstraction Interface Classes……Page 273
PRACTICE QUESTIONS……Page 277
Disadvantage……Page 279
EXAMPLE……Page 280
PRACTICE QUESTIONS……Page 283
EXAMPLE……Page 285
PRACTICE QUESTIONS……Page 288
DESCRIPTION……Page 289
Design Approach III (Final Variables)……Page 290
PRACTICE QUESTIONS……Page 292
When an Object Goes Out of Scope, It Is Believed to Be Garbage Collected Immediately……Page 295
EXAMPLE……Page 296
Exception Scenario 2……Page 297
PRACTICE QUESTIONS……Page 300
DESCRIPTION……Page 301
EXAMPLE……Page 302
PRACTICE QUESTIONS……Page 305
SECTION VII. BEHAVIORAL PATTERNS……Page 307
DESCRIPTION……Page 310
EXAMPLE I……Page 313
Application Flow……Page 319
PRACTICE QUESTIONS……Page 320
CHAPTER 31. MEDIATOR……Page 326
MEDIATOR VERSUS FAÇADE……Page 327
EXAMPLE I……Page 328
User Interface Objects: Mediator Interaction……Page 330
EXAMPLE II……Page 333
PRACTICE QUESTIONS……Page 337
EXAMPLE……Page 338
ID……Page 339
DCClient……Page 342
MementoHandler……Page 343
PRACTICE QUESTIONS……Page 345
DESCRIPTION……Page 347
ADDING NEW OBSERVERS……Page 348
EXAMPLE……Page 349
Subject–Observer Association……Page 353
Logical Flow……Page 355
PRACTICE QUESTIONS……Page 357
DESCRIPTION……Page 359
EXAMPLE……Page 360
Infix-to-Postfix Conversion (Listing 34.8)……Page 364
Construction of the Tree Structure (Listing 34.9)……Page 367
Infix Expression……Page 369
Conversion Algorithm……Page 370
Binary Tree Traversal Techniques……Page 371
Postorder (Left-Right-Node)……Page 372
PRACTICE QUESTIONS……Page 373
STATEFUL OBJECT: AN EXAMPLE……Page 374
EXAMPLE……Page 376
PRACTICE QUESTIONS……Page 388
STRATEGIES VERSUS OTHER ALTERNATIVES……Page 390
SimpleEncryption……Page 391
CodeBookCypher……Page 393
PRACTICE QUESTIONS……Page 400
DESCRIPTION……Page 402
EXAMPLE……Page 403
PRACTICE QUESTIONS……Page 406
Abstract Class……Page 408
EXAMPLE……Page 409
Mod 10 Check Digit Algorithm……Page 414
PRACTICE QUESTIONS……Page 418
EXAMPLE……Page 419
PRACTICE QUESTIONS……Page 423
DESCRIPTION……Page 425
EXAMPLE……Page 428
PRACTICE QUESTIONS……Page 432
SECTION VIII. CONCURRENCY PATTERNS……Page 434
EXAMPLE……Page 435
Approach I (Critical Section)……Page 436
Approach II (Static Early Initialization)……Page 437
PRACTICE QUESTIONS……Page 438
DESCRIPTION……Page 439
EXAMPLE……Page 441
PRACTICE QUESTIONS……Page 444
DESCRIPTION……Page 445
EXAMPLE……Page 446
Use of wait() and notify() in the ParkingLot Class Design……Page 448
PRACTICE QUESTIONS……Page 449
DESCRIPTION……Page 450
Lock Release……Page 451
EXAMPLE……Page 454
PRACTICE QUESTIONS……Page 456
SECTION IX. CASE STUDY……Page 457
KPS HOSTING SOLUTIONS: A BRIEF OVERVIEW……Page 458
Functional……Page 459
BUSINESS OBJECTS AND THEIR ASSOCIATION……Page 460
Enterprise Service Level……Page 461
Generic Interface Contract……Page 463
Sample Interface Contract……Page 464
Task Level……Page 465
Sample Task-Handler Mapping……Page 466
Enterprise Services Design……Page 467
Address Validation……Page 468
Customer Management……Page 469
CONCLUSION……Page 471
SECTION X. APPENDICES……Page 472
APPENDIX A. LIST OF DESIGN PATTERNS……Page 473
WEB REFERENCES……Page 475

Reviews

There are no reviews yet.

Be the first to review “Software architecture design patterns in Java”
Shopping Cart
Scroll to Top