Published on

Design Patterns: An Overview

Authors
  • avatar
    Name
    Natarajaveerapandian T
    Twitter
    @Twitter

Introduction

“A design that doesn’t take change into account risks major redesign in the future.”― Erich Gamma, Design Patterns: Elements of Reusable Object-Oriented Software List of Popular Design Patterns used in Software Development

Repository Pattern

The Repository Pattern acts as a mediator between the domain and data mapping layers, offering a collection-like interface for accessing domain objects.

Circuit Breaker Pattern

The Circuit Breaker Pattern is a resilience design pattern that prevents an application from repeatedly trying to execute an operation that's likely to fail (e.g., a downstream service). It "trips" after a threshold of failures and temporarily blocks further calls, allowing time for recovery. This helps maintain system stability and avoid cascading failures.

Side Car Pattern

The Sidecar Pattern is a microservices design pattern where a supporting component (the "sidecar") runs alongside the main service in the same environment, often as a separate container or process. It handles auxiliary tasks like logging, proxying, monitoring, or configuration without modifying the core application.

Factory Pattern

The Factory Pattern is a creational design pattern that provides an interface or method to create objects in a superclass, but allows subclasses or implementations to alter the type of objects that will be created.

Singleton Pattern

The Singleton Pattern ensures a class has only one instance and provides a global point of access to it. It's commonly used for shared resources like configuration, logging, or database connections to maintain consistent state across an application.