Useful Variations
Having criticized various authors on their rendition of the
pattern, this is where I mention the useful, and to my mind acceptable,
variations that I have seen in others’ work demonstrated in this work or
otherwise dreamt up. These variations are either improvements on the pattern
or just a difference in an approach that you might not have thought of. They
may also involve the practical steps which have to be taken to implement the
pattern in certain situations.
Pattern Tweaking
This is where I show how I would have done it differently by
adding an interface or class to make the pattern even more robust. I am sure
the GoF had to deal with some tough issues, such as how to keep the pattern
robust without adding too much structural bulk. This is where I add the
structural bulk which I imagine they probably agonized over.
Advanced Discussion
If this is your first time reading about patterns, you would
be justified in leaving this discussion until later when you really grasp what
is going on with design patterns and that pattern in particular. If you still
want to read the advanced treatment, go ahead, but read it lightly; do not get
stuck on things you do not understand or agree with.
Explanation of Pattern subscripts
Remember the subscripts applied to the pattern name? In
some cases, it may not be obvious why a pattern subscript (P+ P- E A R D M+ M-
S+ S-) may have been applied. In those cases, a bit of explanation as to which
parts of the pattern the subscript applies to—and why—is given here.