Design Patterns

We try to introduce the Principal of Design Patterns and then Offer a catalog of such patterns.

Design Patterns: Element of Reusable Object-Oriented Software is Software Engineering Book, which is written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. The original Publication Date of the book was 21 October 1994, This book has since been Dubbed “The Gang of Four” or GOF, also called GOF Design Patterns.
The GOF wrote the book in C++ and Smalltalk samples. code but it remains very relevant to Java Programming

“Design Patterns Make it easier to reuse successful design and architecture “

Design patterns were started as best practices that were applied again and again to similar problems encountered in different contexts.
Design Patterns are ready-made solutions for object-oriented programming.
Design Patterns solve many of the day-to-day problems object-oriented designers face and in many different ways.

Our GOF design Pattern divided the 23 design Patterns into three types.

  1. Creational Design Patterns.
  2. Structural Design Patterns.
  3. Behavioral Design Patterns

Creational Design Patterns: These patterns provide various object creation mechanisms, which increase flexibility and reuse of existing code.
Or These Design Patterns are used to create objects or manage the object creation process in some way. There are following listed design patterns come into this category.

  • Factory Method
  • Abstract Factory
  • Builder
  • Prototype
  • Singleton

Structural Design Patterns: These patterns explain how to assemble objects and classes into larger structures.

Structural Design Patterns deal with the composition of classes or Objects. Structural class patterns use innheritance to compose interface or implementations. There are following listed design patterns come into this category.

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy

Behavioral Design Patterns: These patterns are concerned with algorithms and the assignment of responsibilities between objects.

The Behavioral class patterns use interitance to describe ways to assemble objects.

  • Chain of Responsibility
  • Command
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor