Skip to content

This repository contains a collection of solid & design patterns used in software engineering.

Notifications You must be signed in to change notification settings

yossef-ashraf/Design-Patterns

Repository files navigation

Design Patterns

This repository contains a collection of design patterns used in software engineering. This project aims to demonstrate how different design patterns can be applied to improve the structure and efficiency of software. The repository contains practical examples annotated in the programming language used for each design pattern mentioned.

Contents

  • Creational Patterns
  • Structural Patterns
  • Behavioral Patterns

Project Advantages

  • Real-life examples of each design pattern.
  • Detailed explanations of practical applications.
  • Clear and complete documentation for each part.

How to Use

  1. Clone Repository:

    git clone https://github.com/yossef-ashraf/Design-Patterns.git
  2. Browse Styles: Review the code and documentation to understand how to implement each design pattern.

  3. Running Examples Locally: It is recommended to download the project and run it locally to try the code yourself.

Running the Project with Docker

  1. Build the Docker Image:

    docker build -t design-patterns .
  2. Run the Docker Container:

    docker run -p 8000:80 design-patterns

    OR

    Run the Docker Container with Docker Compose:

    docker-compose up --build
    docker-compose up
  3. Shut Down the Docker Container:

    docker-compose down
    docker-compose down -v

    Access the project at http://localhost:8000.

Running the Project with PHP

  1. Ensure PHP is Installed: Make sure you have PHP installed on your machine. You can download it from here.

  2. Navigate to the Project Directory:

    cd Design-Patterns
  3. Start PHP Built-in Server:

    php -S localhost:8000

    Access the project at http://localhost:8000.

Contribution

We welcome contributions to improve this project. If you would like to participate, please open an "Issue" or submit a "Pull Request".

License

This project is licensed under the MIT License.


With Regards,
Yossef Ashraf

About

This repository contains a collection of solid & design patterns used in software engineering.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published