/design-patterns

This repository serves as a showcase of various design patterns implemented in Java.

Primary LanguageJava

Java Design Patterns Showcase

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.

Table of Contents

  • Introduction
  • Design Patterns Included
  • PlantUML Diagramms
  • Getting Started
  • Usage
  • Contributing
  • License

Introduction

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.

Design Patterns Included

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.

PlantUML Diagramms

You will find PlantUML diagramms, which visualize the design patterns in the docs folder of the project.

Getting Started

To get started with this project, follow these steps:

Clone the repository:

  • 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.

Usage

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.

Contributing

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!

License

This project is licensed under the MIT License. Feel free to use the code provided in this repository for personal or commercial purposes.