Skip to content

ristan7/Software-Design-Patterns

Repository files navigation

📚 Software Design Patterns – Projects

This repository contains implementations of 20 Gang of Four (GoF) design patterns through practical Java projects. The projects were developed as part of a Software Engineering course.


🎯 Project Goal

The goal of this project is to demonstrate:

  • how different design patterns work in practice
  • when and why they should be used
  • how they improve flexibility, maintainability, and scalability of software systems

🧩 Implemented Design Patterns

A total of 20 GoF design patterns have been implemented, including:

🏗️ Creational Patterns

  • Abstract Factory
  • Factory Method
  • Builder
  • Singleton
  • Prototype

🧱 Structural Patterns

  • Proxy
  • Decorator
  • Flyweight
  • Adapter
  • Composite
  • Bridge
  • Composite

🔄 Behavioral Patterns

  • Mediator
  • Memento
  • Command
  • Template Method
  • Strategy
  • Observer
  • Interpreter
  • Chain of responsibility

🏗️ System Architecture

The application follows a layered architecture:

  • GUI (Java Swing) – user interface
  • Domain Classes – core business entities
  • Database Broker – database communication layer
  • Design Patterns Layer – ensures flexibility and extensibility

⚙️ Features

  • Reservation system for reading room seats
  • Conflict detection for reservations
  • Database operations (CRUD) using MySQL

🛠️ Technologies Used

  • Java (Swing)
  • MySQL
  • JDBC

About

A project was developed as part of the Software Design Patterns course. Using a simple software application for reserving study room time slots, both practical and theoretical applications of 20 out of the 23 GoF design patterns are demonstrated.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors