-
Adapter Pattern: Adapting Systems From Legacy to Modern
The Adapter pattern allows incompatible interfaces to work together, acting as a translator between them, enabling seamless integration.
-
Abstract Factory Pattern – Factory of Factories
The Abstract Factory Pattern provides an interface for creating families of related objects, allowing for easy interchangeability and seamless integration.
-
Boost Modularity with the Factory Method Pattern
The Factory Method Pattern provides an interface for creating objects, decoupling the client code from concrete object creation.
-
Prototype Pattern: Creating Objects with Cloning
Prototype Pattern allows for efficient object creation by using a prototypical instance and cloning it to create new objects, eliminating direct instantiation.
-
Builder Pattern: A Flexible Approach To Object Creation
The Builder pattern provides a flexible and dynamic solution for creating complex objects, separating their construction from their representation.
-
Mastering the Singleton Design Pattern in Java
Singleton design pattern is useful for managing resources that are expensive to create, such as database connections or network sockets, or for objects that must maintain a consistent state throughout the application, such as user preferences or application settings.
-
Encapsulate What Varies (EWV)- Design Principle
Learn how to design software to accommodate future changes with minimal effort. Encapsulate what varies, shield it from affecting the program and reduce risks of introducing bugs.
-
Decoding Coupling and Cohesion
Coupling and Cohesion are important concepts describing the quality of a software design. An application should have Low Coupling & High Cohesion
-
Inversion of Control
Dependency Injection (DI) and Inversion of Control (IoC) are related concepts in software engineering, but they are not exactly the same.
-
A solid guide to SOLID Principles
The SOLID principles provide a clear and concise set of guidelines for designing software that is easy to maintain, extend, and scale. Furthermore, The SOLID principles are technology-agnostic, meaning that they can be applied to any programming language or platform.
-
CQRS – keep read & write responsibility separate
CQRS (Command-Query Responsibility Segregation) is a design pattern that separates the responsibility of handling commands (write operations) from queries (read operations) in a system. This pattern can improve the scalability, performance, and maintainability of the system by optimising each side independently.
-
Why should we prefer Composition over Inheritance?
Inheritance can lead to tight coupling between classes, violation of single responsibility, code duplication.