
Silverston c09.tex V2 - 11/21/2008 3:16am Page 482
482 Chapter 9 ■ Using the Patterns
What Are the Weaknesses of Using Patterns
for the Solution?
The weaknesses of applying patterns for requirements gathering and proto-
typing are as follows:
Using level 1 patterns does not generally provide a good basis for
implementations. Granted, in some very specific circumstances where
a set of data is very static and the values are not generally reused, you
may use a level 1 pattern solution for an implementation, but these situ-
ations are very rare indeed. Also, if level 1 patterns are implemented in
a database design, they would often cause redundant data. The level 1
patterns often include many attributes that are not normalized (that is,
they don’t follow 1
st
,2
nd
,or3
rd
normal form). For example, if you used
the Level 1 Classification Pattern to implement a customer size field
where the values are ‘‘Large,’’ ’’Medium,’’ and ‘‘Small,’’ this would lead
to many instances that redundantly had the value ‘‘Large,’’ as opposed
to having a foreign key that pointed to a CUSTOMER SIZE table, which
is how it would be modeled using the Level 2 Classification Pattern.
When level 2 patterns are used instead of Level 1 Patterns, you lose
some specific understanding. For example, we created STATUS TYPE
and CUSTOMER STATUS in Figure 9-2 to replace active from date and
active thru date that were attributes of CUSTOMER in Figure ...