Thursday, April 24, 2008

Software Design Patterns

This article is an introduction to Software Design Patterns. "Design Patterns" sounds new to a guy frm visual basic background . hmm. What you mean by "Design Patterns" for Software. Is it a new terminology just coined for software alone. Nope.. Its there in all fields !!!!.

So lets discuss what is Software Design Patterns from a developer perspective.

Design Patterns are pre-defined solutions to design problems in any software development. In our day-to-day life we are coming across lot of similiar problems and there are n- number of ways of solve the same.. But have u ever thing that the same problem which u solved can be handled in a different or a better method which is already defined..

Are you looking for a definition for Design patterns ?

"Design patterns are recurring solutions to software design problems you find again and again in real-world application development. Design patterns are about design and interaction of objects, as well as providing a communication platform concerning elegant, reusable solutions to commonly encountered programming challenges"


The Gang of Four patterns is the base for all software design patterns available :-

GoF is caategorized into three groups

1. Creational
2. Structural
3. Behavioral

Just to summarize each group, here is the list of all 23 software design patterns

Creational Design Patterns

1. Abstract Factory
2. Factory Method
3. Prototype
4. Builder
5. Singleton

Structural Design Patterns

6. Adapter
7. Bridge
8. Composite
9. Decorator
10.Facade
11.Flyweight
12.proxy

Behavioural Patterns

13. Chain of Responsibility
14. Command
15. Interpreter
16. Iterator
17. Mediator
18. Memento
19. Observer
20. State
21. Strategy
22. Template Method
23. Visitor


Hope this will help you to get a general understanding of Software Design Patterns. In the
Upcoming sections I would like to discuss each design patterns in-depth

No comments: