Skip to content

Repository files navigation

Software Design Pattern Implementation

This repository contains clean, well-structured implementations of core Software Design Patterns in Java, created as part of the Software Design and Construction coursework.

Each design pattern is implemented in its own dedicated folder, with a clear problem statement, structured source code, and visual output to demonstrate functionality. The goal of this repository is to understand, apply, and showcase design patterns through practical examples rather than theory alone.


📚 Design Patterns Covered

The repository currently includes the following design patterns:

🔹 Creational Patterns

  • Factory Method – Object creation through a common interface
  • Abstract Factory Method – Creating families of related objects
  • Builder – Step-by-step construction of complex objects
  • Singleton – Ensuring a single global instance

🔹 Structural Patterns

  • Adapter – Integrating incompatible interfaces
  • Composite – Tree structures with uniform object treatment
  • Decorator – Dynamic behavior addition
  • Facade – Simplified interface to complex subsystems

🔹 Behavioral Patterns

  • Observer – One-to-many dependency and event notification

🗂 Repository Structure

Software-Design-Pattern-Implementation/
├── Abstract_Factory_Method/
├── Adapter/
├── Builder/
├── Composite/
├── Decorator/
├── Facade/
├── Factory_Method/
├── Observer/
└── Singleton/

Each pattern folder contains:

  • A dedicated README.md explaining the pattern and task
  • A src/ directory with Java source files
  • An img/ directory containing screenshots of program output and diagrams

🎯 Purpose of This Repository

  • To demonstrate practical understanding of software design patterns
  • To apply object-oriented design principles effectively
  • To serve as a reference and learning resource for students and beginners
  • To act as a portfolio showcase of clean, documented Java implementations

🛠 Technologies Used

  • Java
  • Object-Oriented Programming (OOP)
  • Design Patterns (GoF)

⭐ Notes

  • Each pattern is implemented independently for clarity.
  • Code focuses on readability, separation of concerns, and correctness.
  • This repository can be extended further with additional behavioral patterns such as Strategy, Command, and State.

⭐ If you find this repository helpful, feel free to explore, learn, and build upon it.

For further understanding, you can visit: https://refactoring.guru/design-patterns/catalog

About

A collection of mini projects and implementations of software design patterns completed for the Software Design and Construction (SDC) course.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages