Sunday, September 15, 2013

Design Pattern - Introduction


Design Pattern - Introduction

Design Patterns are best practices how to solve common know problems , in another words well-proved solution for solving the specific problem.

These best practices used by experienced object-oriented software developers and these are programming language independent.

By using design patterns make the code:
    * flexible
    * reusable
    * maintainable

Every design pattern has some specification or set of rules for solving the problems.

Advantages of Design Patterns :
    * reusable in multiple projects
    * provide solutions that helps to design software architecture
    * follow software engineering experiences
    * provide transparency of the design of an application
    * well-proved and testified solutions

When we use the Design patterns

We must use the design patterns during the analysis and requirement phase of SDLC ( Software Development Life Cycle ).

Design Patterns can be divided into:
 
1. Creational Patterns
These design patterns provides way to create objects while hiding the creation logic, rather than instantiating objects directly using new operator.

This gives program more flexibility in deciding which objects need to be created for a given use case.

Example:
    Factory Pattern
    Abstract Factory Pattern
    Singleton Pattern
    Prototype Pattern
    Builder Pattern

2. Structural Patterns
These design patterns concern class and object composition.

Concept of inheritance is used to compose interfaces and define ways to compose objects to obtain new functionalities.

Example:
    Adapter Pattern
    Bridge Pattern
    Composite Pattern
    Decorator Pattern
    Facade Pattern
    Flyweight Pattern
    Proxy Pattern

3. Behavioral Patterns
These design patterns are specifically concerned with communication between objects.

Example:
    Chain of Responsibility Pattern
    Command Pattern
    Interpreter Pattern
    Iterator Pattern
    Mediator Pattern
    Memento Pattern
    Observer Pattern
    State Pattern
    Strategy Pattern
    Template Pattern
    Visitor Pattern

4. JavaEE Design Patterns
* Presentation Layer Design Pattern
* Business Layer Design Pattern
* Data Layer Design Pattern

No comments:

Post a Comment