This module introduces and reinforces core object-oriented design patterns based on the Gang of Four (GoF) principles. You will learn how to abstract common software problems into reusable and maintainable patterns.
Exercise | Folder | Summary |
---|---|---|
Ex00: School Preparation | ex00/ |
Refactor and organize a pre-written data structure file into logical headers and modular components. |
Ex01: Singleton | ex01/ |
Implement single-instance systems for managing students, staff, rooms, and courses. |
Ex02: Factory & Command | ex02/ |
Build a form-creation system using the Factory and Command patterns. |
Ex03: Mediator | ex03/ |
Implement centralized communication via the Headmaster, acting as a mediator. |
Ex04: Observer | ex04/ |
Create a bell system where students and professors react to time-based events. |
Ex05: Facade | ex05/ |
Encapsulate school operations in a unified School interface that manages internal complexity. |
In addition, because we love C++98, I've also added the 98 implementation.