Skip to main content

Object Oriented Design Patterns


What is a Design Pattern?
In software engineering design patterns refers to a solution template which can be regarded as best practice for problems which occurs often.  A design pattern is simply a solution template  that should be implemented according to problem at hand.
Object Oriented design patterns aims to solve common problems  which are encountered during object oriented design. Object oriented design patterns advises the involved classes and relationships among those classes but leaves actuall class definitions to implementor.

For more detail: Software design pattern

What are types of Design Patterns?
There are three types of design patterns:

1.       Creational Design Patterns
Refers to desing patterns that are used to create objects. Most well known creational patterns are listed below:
-       Singleton
-       Factory
-       Factory Method
-       Abstract Factory
-       Builder
-       Prototype
-       Object Pool


2.       Behavioral Design Patterns
Refers to desing patterns which involves advises on behavior of desing. Well known patterns are listed below:
-       Memento
-       Mediator
-       Observer
-       Null Object
-       Visitor
-       Interpreter
-       Iterator
-       Strategy
-       Command
-       Template Method

3.       Structural Design Patterns
Refers to desing patterns which involves advises on structure of desing. Well known patterns are listed below:
-          Adapter
-          Bridge
-          Composite
-          Decorator
-          Flyweight
-          Proxy

Comments