Friday, November 27, 2015

Design Pattern Overview

Many people teach design patterns as a fundamental step to Object Oriented Programming.
In this post we are going to discussing ideas design pattern more details step by step
with my fellow code junkies.

Now question what actually design patterns represent in software development?
Design patterns represent the best practices used by experienced object-oriented software developers.Design patterns are solutions to general problems that software developers faced during software development.

Design Patterns have two main usages in software development. This are the common platform for developers and best practices.

In this article post discussion will be covering...

1)What they are?
2)Where they came form?
3)Why they matter?

Software professionals may be familiar with the term "Design Patterns," but many have no idea of where they come from and what they truly are.Consequently, some do not see the value and benefits design patterns bring to the software development process.

What Design Patterns are?


  1. General and reusable solutions or template to common problems in software design
  2. Not a finished solution
  3. A template or recipe for solving certain problems
  4. With names to identify them


Patterns deal with:


  1. Application and system design
  2. Abstractions on top of code
  3. Relactionships between classes or other collaborators
  4. Problems that have already been solved


Patterns are not concerned with:


  • Algorithms
  • Specific implementations or classes...


Design Patterns History:
 Design Patterns: Elements of Reusable Object-Oriented Software in 1994 by Gang of Four: Eric Gamma,Richard Helm, Ralph Johnson, and John Vlissides.
This book is considered to be the "coming out" of design patterns to the software community.
In 1998, the Gang Of Four were awarded Dr Dobbs Journal 1998 Excellence in Programming Award.


Design Patterns Structure:

Term Descrition
Pattern Name     Describes the essence of the pattern in a short
Intent Describes what the pattern does
Also Known As   List any synonyms for the pattern
Motivation Provides an example of a problem and how the pattern solves that problem
Applicability                Lists the situations where the pattern is applicable
Structure                     Set of diagrams of the classes and objects that depict the pattern
Collaborations Describes how the participants collaborate to carry out their responsibilities


Design Patterns Benefits
Design patterns have two major benefits. First one, they provide you with a way to solve issues related to software development using a proven solution.
Second one, design patterns make communication between designers more efficient.

No comments:

Post a Comment