Skip to content

This repository contains my implementations of the fundamental GoF (Gang of Four) design patterns, developed to improve my understanding of object-oriented design and architectural best practices. Each pattern is presented through clean, minimal code examples and concise explanations to highlight its purpose, structure, and real-world usage.

Notifications You must be signed in to change notification settings

SimoneRemoli/DesignPatternGof

Repository files navigation

Design Patterns Gallery

A curated showcase of classic software design patterns

Real-world, commented code samples and concise explanations.

Java Pattern Count Maintainer GPLv3

gof gallery


Explore essential object-oriented design patterns, complete with diagrams, animated explainers and example implementations.
This collection is meant both as a quick reference and as sample code for hands-on learners.


Patterns in this Repository

Design Patterns Gallery

📖 Patterns Included

Pattern Folder / Link Brief Description Demo/UML Visual
Singleton Singleton Ensure a class has only one instance.
Factory Method FactoryMethod Defer instantiation to subclasses.
Abstract Factory AbstractFactory Create families of related objects.
Adapter Adapter Convert one interface to another.
Decorator Decorator Add behaviors to objects dynamically.
Observer Observer Notify objects automatically of changes.
Facade Facade Simplify complex subsystems.

Each pattern directory contains:

  • A concise, annotated description
  • UML Diagram
  • Commented Java example
  • Key use cases, pros & cons

🚀 How to Use

  1. Pick the pattern you wish to explore
  2. Go to its folder for code and docs
  3. Review code comments and visuals
  4. Run, experiment or adapt for your own project

💡 About Design Patterns

Design patterns are time-tested solutions to recurring software design problems.
Mastering them helps to:

  • Increase code reuse and clarity
  • Facilitate team communication
  • Build scalable, robust software architecture

👤 Author

Simone Remoli rounded profile

Simone Remoli
github.com/SimoneRemoli

🇮🇹 The documentation in this repository is written in Italian. 🇮🇹

Italian flag

📝 License

This repository is licensed under the GPLv3.
Feel free to fork and contribute!

Stars

↑ Back to top

About

This repository contains my implementations of the fundamental GoF (Gang of Four) design patterns, developed to improve my understanding of object-oriented design and architectural best practices. Each pattern is presented through clean, minimal code examples and concise explanations to highlight its purpose, structure, and real-world usage.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages