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 are available on a separate page. I have begun work on Volume 3. There is a preliminary outline for volume 3.
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.