Thinking in Patterns

You have learned several patterns and have seen Alexander's philosophy of design: start with the big picture and add details. To accomplish this on a software project, I use the following steps:

1.
Find the patterns I have in my problem domain. This is the set of patterns to be analyzed.

2.
For the set of patterns to be analyzed, do the following:

a. Pick the pattern that provides the most context for the other patterns.

b. Apply this pattern to my highest conceptual design.

c. Identify any additional patterns that might have come up. Add them to the set of patterns to be analyzed.

d. Repeat for the sets of patterns that have not yet been analyzed.

3.
Add detail as needed to the design. Expand the method and class definitions.

Admittedly this works only when you can understand the entire problem domain in terms of patterns. Unfortunately, this does not happen all the time. Design patterns give you the way to get started and then you have to fill in the rest by identifying relationships amongst the concepts in the problem domain. The method for doing this uses commonality/variability analysis and is outside the scope of this book. However, you can get more information about CVA on this book's Web site at http://www.netobjectives.com/dpexplained.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
13.59.204.181