Think about our high school mathematics. I know those sucks. There are only few things that help us to less our misery
One of those are some predefined equation. Like (a+b)^2 or Pythagoras equation of c^2=a^2+b^2. We have applied these equations whenever they are applicable to customize the burden of the size of the math. Design Pattern is much similar to those equations. Which is a general reusable solution for common types of problem faced in most software development process all over the world. It is a collection template that can be used to solve or code your problem or program in enterprise world. A common variety of problem arises in different levels of software development. Design Pattern deals with those in a well defined and mostly accepted way.
Design Pattern fuels the development process through well tested and proven development concept. It is consists of several sections. Basic of design patten are classified into following sections:
1. Creational patterns
2. Structural patterns
3. Behavioral patterns
4. Concurrency patterns
1. Creational patterns consists of
a. Abstract factory
b. Factory method
c. Builder
d. Lazy initialization
e. Object pool
f. Prototype
g. Singleton
h. Utility
2. Structural patterns consists of
a. Adapter
b. Bridge
c. Composite
d. Decorator
e. Facade
f. Flyweight
g. Proxy
3. Behavioral patterns Consists of
a. Chain of responsibility
b. Command
c. Interpreter
d. Iterator
e. Mediator
f. Memento
g. Observer
h. State
i. Strategy
j. Specification
k. Template method
l. Visitor
m. Single-serving visitor
n. Hierarchical visitor
4. Concurrency patterns Consists of
a. Active Object
b. Balking
c. Double checked locking
d. Guarded
By: Md. Shahjalal
Sources:
1. WikiPedia
2. Head First Design Pattern
3. patterndepot.com
Posted by Md. Shahjalal 
