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.
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
A total of 20 GoF design patterns have been implemented, including:
- Abstract Factory
- Factory Method
- Builder
- Singleton
- Prototype
- Proxy
- Decorator
- Flyweight
- Adapter
- Composite
- Bridge
- Composite
- Mediator
- Memento
- Command
- Template Method
- Strategy
- Observer
- Interpreter
- Chain of responsibility
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
- Reservation system for reading room seats
- Conflict detection for reservations
- Database operations (CRUD) using MySQL
- Java (Swing)
- MySQL
- JDBC