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.
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 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 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.
To test the pattern implementations, follow these steps:
- Clone this repository:
git clone https://github.com/Rickccastro/DesignPatterns.git