Is this a pattern?

I will answer the title question at the end of this post. Exciting!

Let’s start with another three questions and three answers:

  • What is software? A program which instructs the computer how to operate.
  • What is design? A plan of how something is built or what it’s specifications are.
  • What are patterns? Something whose elements repeat predictably.

Did you see the pattern in the last paragraph? Neat. Now let’s combine these words into software design patterns, whose definition is a combination of ‘software design’ and ‘patterns’. It represents repeatable solutions to common problems in object-oriented software development. This prevents programmers from having to re-invent the digital wheel. At least that is the idea. Not to be copied and pasted, but to give an idea, a template, of how to solve the problem.

The concept of patterns was first written about in 1977 by Christopher Alexander. The patterns in his articles were on architectural design! Software designers realised later that there are many similarities, listed here, between architecture and software design. The book Design patterns by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides from 1995 is the basic book for everyone who wants to learn software design patterns. After this book, the patterns became widely used in software design.

There are a few important software design patterns:

Singleton: If an application only needs one instance of an object, this pattern is useful. It works so that a class only has one instance. It makes sure that there is a global point of access to it. Singleton is one of the most important patterns.

Model-View-Controller: This design pattern was created initially for Smalltalk.

Proxy: This one is easier to understand, since it has a physical analogy. Credit cards are proxies for what is in your bank account. It is, as you could call it, a handle to your money.

To end, the answer to the question in the title is yes! Even though it didn’t have much to do with software, the pattern is still nice in my opinion.

#Mastery05

Leave a comment

Design a site like this with WordPress.com
Get started