Thank you for your interest in contributing to this repository!
This project focuses on clean, practical, and well-documented implementations of Software Design Patterns in Java.
Contributions that improve learning value, code quality, and structure are always welcome.
You can contribute by:
- Adding new Design Pattern implementations
(e.g., Strategy, Command, State, Template Method) - Improving existing implementations
- Refactoring code for better readability and structure
- Enhancing documentation or README files
- Adding UML diagrams or output screenshots
- Fixing bugs or improving consistency
Each design pattern must follow this structure:
Pattern_Name/
├── README.md
├── src/
│ └── Java source files
└── img/
└── Output screenshots/diagrams
Guidelines:
- Use Java
- Each pattern must be placed in its own folder
- Folder names should be descriptive and consistent
- Patterns should be implemented independently
- Follow Object-Oriented Design principles
- Follow clean code and OOP best practices
- Keep classes focused on a single responsibility
- Avoid unnecessary complexity
- Ensure the code compiles and runs successfully
- Add comments only where logic is not obvious
Each pattern must include a README.md that explains:
- The problem statement
- The intent of the design pattern
- Class responsibilities and interactions
- Example output and behavior
Screenshots and diagrams should be placed in the img/ folder.
- Fork this repository
- Create a new branch
git checkout -b feature/pattern-name- Make your changes
- Commit your work
git commit -m "Add <Pattern Name> design pattern"- Push to your fork
- Open a Pull Request with a clear description