Design Pattern : Introduction

In our day to day lives as software engineers we encounter recurring conceptual problems, there may be many ways to solve that problem, but How do I go about finding the best  way to tackle it?

The answer is Design Patterns.

Design patterns are solutions to recurring problems, these are widely accepted solutions by software community. It is a toolkit of tried and trusted solutions for problem statements.

Basically to keep it bluntly one of the primary principle of software development is DRY -Do not Repeat Yourself, reasons being it might take a long time for you to implement it and it will be expensive.  So pattern looks at the structure of the problem statement and apply a well proven solution to it.

The idea of design patterns was picked up Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm often referred to as Gang of Four (GoF). In 1995 they published a book named “Design Patterns: Elements of Reusable Object-Oriented Software”, which was a best seller.  But before the GoF there was  Christopher Alexander wrote a book on timeless entities called Patterns in 1977  which has 253 patterns. Later GoF looked at the same conceptual problems with the same solutions, they came up with set of design patterns and reduces it to 23.

So design Pattern is a leitmotif(or a structure) to solved a  problem statement. It is not a framework or algorithm, Also it is language independent. There are mainly there categories in Design Patterns:

  • Creational
  • Structural
  • Behavioral

We will discuss on each of them deeply on these in the next blog.

 

Leave a Reply

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

WordPress.com Logo

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

Google photo

You are commenting using your Google 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