This repository serves as a showcase for various design patterns implemented in Java that were discussed in my Software Architecture lecture in my fourth semester.
- Introduction
- Design Patterns Included
- PlantUML Diagramms
- Getting Started
- Usage
- Contributing
- License
Design patterns are reusable solutions to common software design problems. They provide proven approaches that can improve code structure, maintainability, and flexibility. This project aims to demonstrate the implementation of several design patterns using Java.
This repository covers a wide range of design patterns. For each design pattern, you will find a dedicated folder containing the Java source code and a detailed explanation of its purpose, structure, and usage.
You will find PlantUML diagramms, which visualize the design patterns in the docs folder of the project.
To get started with this project, follow these steps:
- Clone the code with
git clone https://github.com/Vincenzo1301/design-patterns
. - Import the project into your preferred Java IDE.
Explore the different design pattern folders to understand their implementation.
The code provided in this repository can be used as a reference or learning material for understanding various design patterns in Java. Each design pattern package contains a dedicated Java file. Feel free to explore, modify, and experiment with the code to understand how each design pattern works in practice. You can also integrate the provided patterns into your own projects as needed.
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your contribution.
- Make your changes and enhancements.
- Test your changes thoroughly.
- Commit and push your changes to your forked repository.
- Submit a pull request, explaining the changes you've made.
Please ensure your contributions align with the project's purpose and follow good coding practices.
Feel free to create a issue, if something is wrong in your opinion. I'll check it out!
This project is licensed under the MIT License. Feel free to use the code provided in this repository for personal or commercial purposes.