Design Patterns

Cover of "Design Patterns: Elements of Re...

Cover via Amazon

Hello guys,

Last week I got a chance to attend a training on Design Patterns. I would like to share my views on that this is the best way to really learn object-oriented design. After recognizing these Patterns it will improve your coding skills to par and further in future it will make you a good developer.

Prior knowledge of any computer language is required but it will be advantage to those people who have worked upon languages related to OOPs concept. It will be easy for them to co relate their problems and easy design solution to their problems.

1. Design Patterns are solution to common design problems that developers face during designing simple/complex applications and GOF(Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides) Gang Of Four identified those problems and make a series of those solutions as Design Patterns. I would recommend you all to read this book at least.

2. We can divide these 23 Design Patterns into three categories:

3. Structural Patterns are those patterns which are related to composing the classes and objects in order to form larger Structures. One can relate these patterns to common life examples like Bridge, Adapter etc. Let me write down those patterns:

  • Bridge
  • Adapter
  • Decorator
  • Composite
  • Proxy
  • Flyweight
  • Facade

4. Creational Patterns are related with Instantiating the objects, creating the good design concept while coding in order to make their use easy while developing applications, these are:

5. Behavioral Patterns  are related to Behavior of the objects, their communication with the other objects and their methods. Basically algorithmically design of the classes and their methods. These are:

  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor

So guys improve your programming skills as I am doing so right now. Please share your comments and suggestions to improve others.

Books you can read to improve your Design Patterns concept

1.  Design Patterns: Elements of Reusable Object-Oriented Software

2. Head First Design Patterns