Design Pattern Overview - Design Patterns

What is Design Pattern Overview?

Design patterns stand for the top practices used by experience object-oriented software developers. Design patterns are solution to common effort that software developers faced during software enlargement. These solutions were obtained by trial and error by many software developers over moderately a important period of time.

What is Gang of Four (GOF)?

In 1994, four authors Erich Gamma, Richard Helm, Ralph Johnson and John Glissades available a book titled Design Patterns - Elements of Reusable Object-Oriented Software which initiated the model of Design Pattern in Software development.

These authors are in a group known as Gang of Four (GOF). According to these authors design patterns are mainly based on the following morality of entity orientated design.

  • Program to an interface not an implementation
  • Favours object composition over inheritance

Usage of Design Pattern

Design Patterns have two most important usages in software development.

Common platform for developers

Design patterns present standard expressions and are particular to particular scenario. For instance, a singleton design pattern signify use of single object so all developers common with single design pattern will make use of single entity and they can tell each other that program is following a singleton pattern.

Best Practices

Design patterns have been evolving over a stretched period of time and they supply best solutions to certain problems faced for the duration of software development. Wisdom these patterns helps inexperienced developers to learn software design in a simple and quicker way.

Types of Design Patterns

As per the design pattern orientation book Design Patterns - Elements of Reusable Object-Oriented Software, there are 23 design patterns which can be classify in three categories: Creational, Structural and Behavioural patterns. We'll also examine another category of design pattern: J2EE design patterns.

S.N. Pattern & Description
1 Creational Patterns
These design patterns provide a 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.
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.
3 Behavioral Patterns
These design patterns are specifically concerned with communication between objects.
4 J2EE Patterns
These design patterns are specifically concerned with the presentation tier. These patterns are identified by Sun Java Center.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status

Design Patterns Topics