Skip to content

I'm learning design patterns using Java through hands-on projects. This repo contains simple, clear examples of popular object-oriented design patterns with real-world use cases. Each pattern is implemented, tested, and explained to strengthen my understanding of clean, maintainable software architecture.

Notifications You must be signed in to change notification settings

COREayan/java-design-patterns-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

β˜• Learning Java Design Patterns

Hi! πŸ‘‹ I'm learning Object-Oriented Design Patterns using Java. This repository is my personal learning lab where I:

  • πŸ‘¨β€πŸ’» Implement each design pattern from scratch
  • πŸ“š Understand the real-world use case for each pattern
  • 🧠 Learn to write clean, reusable, and maintainable code

🧱 Covered Patterns

This repo will gradually include examples from all three main categories:

  • Creational (e.g., AbstractFactory, Builder, Factory, Prototype, Singleton)
  • Structural (e.g., Adapter, Bridge, Composit, Decorator, Facade, Flyweight, Proxy)
  • Behavioral (e.g., Chain Of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template, Visitor)

Each folder contains:

  • βœ… Java source code
  • βœ… Comments explaining the flow
  • βœ… A mini real-world analogy (when possible)

🎯 Goal

By the end of this project, I want to:

  • Deeply understand design patterns
  • Be interview-ready for Java developer roles
  • Write better architecture in real-world projects

πŸ“š More Resources

To supplement my learning, I’m referring to these excellent resources:


⭐ Feel free to explore and suggest improvements!

About

I'm learning design patterns using Java through hands-on projects. This repo contains simple, clear examples of popular object-oriented design patterns with real-world use cases. Each pattern is implemented, tested, and explained to strengthen my understanding of clean, maintainable software architecture.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages