Design Patterns Revisited


1 min read

Design Patterns are standard solutions to common design problems in object-oriented applications. They act as guidelines that can be used to solve recurring design problems in your code. If you have been in the software industry for a while, it is possible that you have already implemented some of these patterns without realizing it.

Note that design patterns are not ready-to-use code solutions. They describe or suggest how the solution should look like.

Benefits of Design Patterns

  • Teach how to solve all sorts of problems using principles of Object-Oriented Design

  • Adhere to SOLID principles

  • Achieve highly cohesive modules with minimal coupling (Extensibility and reusability).

  • Communication tools between designers and developers

Types of Design Patterns

Creational Design Patterns

  • Factory/ Abstract Factory

  • Builder

  • Prototype

  • Singleton

Structural Design Patterns

  • Adapter

  • Bridge

  • Composite

  • Decorator

  • Facade

  • Flyweight

  • Proxy

Behavioral Design Patterns