Please Share Feedback


Questions, comments, suggestions? Let us know what you think on our Forum.

To contact us privately, please use our contact form.

Author: Elyse, PMP, CPHIMS
July 24, 2004


A while ago I went over the types of design patterns, but I’m getting the impression that a lot of people are unclear on what design patterns are. Design patterns are a recipe for solving common software architectural problems. Object-oriented design has been around for a while, and as people become more accustom to using object oriented techniques they realized something. There are a couple of ways to do something, that results in a better architectural structure of the software application, then other ways. Out of these realizations arose techniques which are known as design patterns.

So people needed a way to communicate these techniques, out of this need for communication arose a common jargon. This realization is probably best illustrated with the first 23 design patterns. The communication of these techniques is important because we don't have time now-a-days to all be wheel inventors. The other thing is that after someone understands how these patterns work and can be applied it elevates their level of architectural enlightenment. In other words they become better at architecting solutions.

In order to communicate patterns, a pattern has key features.

Feature

Description

Name

The term used to refer to the pattern

Intent

What the pattern is suppose to accomplish

AKA

Synonyms or other ways to refer to the pattern

Problem

An architecture issue and how the pattern can be applied to resolve it.

Applicability

Common scenarios where you can use the pattern

Structure

A diagram that illustrates the How-To

Participants and Collaborators

The entities that are involved, what they do, and how they do it.

Consequences

The advantages/ Disadvantages of the pattern and the grey area that surrounds using the pattern in this manner.

Subscribe and Share!

Did you enjoy this article? Your feedback is very important! I'd like to invite you to keep up to date with the latest posts from Anticlue. We offer several venues. If you have some questions, help can be found here.