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.
- Creational Patterns
- Structural Patterns
- Behavioral Patterns
- Real-life examples of each design pattern.
- Detailed explanations of practical applications.
- Clear and complete documentation for each part.
-
Clone Repository:
git clone https://github.com/yossef-ashraf/Design-Patterns.git
-
Browse Styles: Review the code and documentation to understand how to implement each design pattern.
-
Running Examples Locally: It is recommended to download the project and run it locally to try the code yourself.
-
Build the Docker Image:
docker build -t design-patterns .
-
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
-
Shut Down the Docker Container:
docker-compose down docker-compose down -v
Access the project at
http://localhost:8000
.
-
Ensure PHP is Installed: Make sure you have PHP installed on your machine. You can download it from here.
-
Navigate to the Project Directory:
cd Design-Patterns
-
Start PHP Built-in Server:
php -S localhost:8000
Access the project at
http://localhost:8000
.
We welcome contributions to improve this project. If you would like to participate, please open an "Issue" or submit a "Pull Request".
This project is licensed under the MIT License.
With Regards,
Yossef Ashraf