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