Skip to content

Rickccastro/DesignPatterns

Repository files navigation

🎨 Design Patterns

This repository aims to demonstrate the implementation of some of the most commonly used design patterns in software development, organized into three main categories: Creational, Behavioral, and Structural.

Implemented Patterns 🚀

Creational Patterns 🏗️

Creational patterns deal with object instantiation, ensuring greater flexibility and code reuse.

  • Abstract Factory: Allows the creation of families of related objects without specifying their concrete classes.
  • Builder: Separates the construction of a complex object from its representation, allowing different configurations.
  • Factory Method: Defines an interface for object creation, letting subclasses decide which class to instantiate.
  • Simple Factory: Provides a method to create instances of different classes based on a given criterion.

Behavioral Patterns 🎭

Behavioral patterns define how objects interact with each other.

  • Observer: Enables automatic notification of changes to multiple observers.
  • Strategy: Defines a family of algorithms and allows them to be interchangeable without altering the clients that use them.

Structural Patterns 🏛️

Structural patterns help compose classes and objects to form larger and more efficient structures.

  • Adapter: Allows incompatible interfaces to work together through an intermediary class.
  • Facade: Provides a simplified interface to a set of more complex subsystem interfaces.

How to Run 🏃

To test the pattern implementations, follow these steps:

  1. Clone this repository:
    git clone https://github.com/Rickccastro/DesignPatterns.git

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages