Skip to main content

Male Pattern Boldness

Posted by chet on October 25, 2007 at 8:03 AM PDT

Longtime readers of my blog will know that
I'm a huge fan of Design Patterns. Patterns wrap complex architectures with simplistic
descriptions. They create wonderful
buzzwords that we can use instead of resorting to actual
human language descriptions. And they help enforce that feeling that we're all
a part of an elite clique shunned by society not by
their choice, but by ours.

So it is with much happiness and joy (refer to the Joyous Configuration
pattern for more background on this emotion) that I hereby announce more
patterns to help the software community in the tedious and underappreciated lives
that we lead.


The Refactory pattern, a spin-off of the earlier
pattern, is useful for engineering teams that
enjoy the infinite redesign
cycle of software. While the code may work perfectly well in some configuration,
chances are great that the entire code base can be completely refactored to
have the same functionality, but with different class hierarchies,
indenting styles, and naming
conventions. This pattern provides for such standard refactoring methods as
codeRestyler(), classHierarchyFlattener(), and
classHierarchyExpander(). This
single pattern is often credited with being the cornerstone of
our entire industry.


The Delicate pattern, like the traditional
is signified by its extreme use of indirection and object layering,
where a successful
implementation will be comprised of so many layers of API and object
wrappers that the final result is apt to break easily and
As Chris Campbell
pointed out to me, the Delicate pattern is a critical part of the trendy
Fragile Programming


The Obliterator pattern is a combination of the
Iterator pattern,
which is useful for walking
through a list of objects, and deletion functionality. When applied to any list
of objects,
it automatically walks the list and deletes all members, then removes the list,
the calling function, and the application itself. Variations of the pattern
have been known to also destroy the operating system, the computers
running the system, the networks on which the pattern is deployed,
and the universe in which the pattern exists. Use with care, or at
least ask your users to test it for you before declaring the product final.


The Veneer pattern is a thin, attractive wrapper on top of a
rat's nest of spaghetti code. The pattern is similar to its forerunner,
the Fa