We end this season with a look at using patterns and anti-patterns throughout your work.  The value they provide is obvious and costs little.  We gain the lessons learned from others and have those available for our projects.  Those experiences are valuable to us and jumpstart our solutions.

Using Patterns

Patterns are just that.  They provide a recommended series of steps or an approach.  However, they are not the solution.  We need to use these tools as an outline or guide to building our specific solution.  That means we may need to add or subtract from a pattern to make the most of it.  Do not consider these to be hard and fast rules.  Rather, review them and determine where they can inform the solutions you are building.

Avoiding Anti-Patterns

I often think of anti-patterns as a slippery slope warning sign.  Just as everything about patterns is not all good, anti-patterns are not full of mistakes.  We often see that anti-patterns arise from the best of intentions or at least the goal of getting things done quickly.  We can make those trade-off decisions without falling into an anti-pattern.  On the other hand, the point of an anti-pattern is to warn us as to where a few small steps in a direction can lead to great strides.  Think of these as caution signs that make us aware of the danger ahead.  Avoid them if you can and be intentional about taking these steps when you do not have better options.

Challenges

Whether embracing patterns or avoiding anti-patterns, every problem is unique in some way.  Thus, we need to use these as suggestions and cautions.  We can easily fall into a trap when we take a general concept like patterns and force our solution into it.  Allow for tweaks and customizations as you use these for the greatest impact. At the end of the project, it is still your unique solution that is created.

Rob Broadhead

Rob is a founder of, and frequent contributor to, Develpreneur. This includes the Building Better Developers podcast. He is also a lifetime learner as a developer, designer, and manager of software solutions. Rob is the founder of RB Consulting and has managed to author a book about his family experiences and a few about becoming a better developer. In his free time, he stays busy raising five children (although they have grown into adults). When he has a chance to breathe, he is on the ice playing hockey to relax or working on his ballroom dance skills.

Leave a Reply