Design Patterns

What is a design pattern?

As I mentioned in one previous blog post, we need to save time and money to on risk factors to really focus on the work that matters.

The gang of four, Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm, released the now renowed book Design Patterns: Elements of Reusable Object-Oriented Software.

Image result for gang of four design patterns

Design patterns are common solutions to common problems. They focus on what, not how. This means they are language agnostic. One additional benefit they provided is that the communication between developers on different language and companies, can understand each other clearly when using these patterns.

The patterns fall into 3 main categories.

  • Behavioral
  • Creational
  • Structural

Behavioral patterns refer as their name implies, on behavior. How objects interact with each other. Sending messages, calling methods or extending functionality.

Creational patterns focus on creating objects. Things like how are they created, how many are created or how are they prototyped.

Structural patterns belong to the structure of the objects, like hierarchies and on the proxy pattern, where one communicates messages as a proxy to the real one.

Some are really easy to understand like the Singleton and Proxy, others are more complex like Flyweight and Decorator.

View at



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s