Preview of Patterns in Java Volume 2

Volume 2 of my patterns book contains patterns that apply to phases of the software development cycle other than design.  Synopses of the design patterns in Volume 1 and Volume 3 . are available ona separage page.
Order Volume 2
There is also an errata page for Volume 2 .

The 50 patterns in volume 2 are organized into categories as shown in the following table:
 

GRASP Patterns Controller  
Creator  
Expert  
Law of Demeter  
Low Coupling/High Cohesion  
Polymorphism  
Pure Fabrication
GUI Design Patterns Conversational Text   
Direct Manipulation  
Ephemeral Feedback  
Explorable Interface  
Form  
Disabled Irrelevant Things  
Interaction Style  
Limited Selection Size  
Selection  
Step-by-Step Instructions  
Supplementary Window  
Window per Task
Organizational Coding Patterns Accessor Method Name  
Anonymous Adapter  
Checked vs. Unchecked Exceptions  
Conditional Compilation  
Composed Method  
Convert Exceptions  
Define Constants in Interfaces  
Extend Super  
Intention Revealing Method  
ServerSocket  
Client Socket  
Switch  
Symbolic Constant Name
Optimization Coding Patterns Double Checked Locking   
Hashed Adapter Objects  
Lazy Initialization  
Lookup Table  
Loop Unrolling
Robustness Coding Patterns Assertion Testing  
Copy Mutable Parameters  
Guaranteed Cleanup  
Maximize Privacy  
Return New Objects from Accessor
Testing Patterns Acceptance Testing  
Black Box Testing  
Clean Room Testing  
Integration Testing  
Regression Testing  
System Testing  
Unit Testing  
White Box Testing
If you have any suggestions about this page or would like to discuss a pattern with its author, send e-mail to  mgrand@mindspring.com

GRASP Patterns

GRASP is an acronym for General Responsibility Assignment Software Patterns. GRASP Patterns provide guidance for assigning responsibilities to classes and, to a limited extent, determining the classes that will be in a design.

This book discusses GRASP patterns as they are applied to object oriented design. Most GRASP patterns apply equally well to business process reengineering.

During analysis, when you are building a conceptual model of an organization that has more than one way to do something, GRASP patterns can provide guidance in selecting paths through the organization to include in the conceptual model.


GUI Design Patterns


Organizational Coding Patterns


Code Optimization Patterns


Robustness Coding Patterns


Testing Patterns

Return to Mark Grand's home page.