CMP5151: Software Design Patterns (2023-2024)

  1. Object Design Fundamentals
  2. OOP Principles and Design Patterns
  3. Interface Patterns: Adapter, Facade, Composite, Bridge
  4. Responsibility Patterns: Singleton, Observer, Mediator, Proxy, Chain of Responsibility, Flyweight
  5. Construction Patterns: Builder, Factory Method, Abstract Factory, Prototype, Memento
  6. Operation Patterns: Template Method, State, Strategy, Command, Interpreter
  7. Extension Patterns: Decorator, Iterator, Visitor
  8. Software Architecture and Architectural Patterns
  9. Domain-Driven Design and Clean Architecture
  10. Cloud Native Design Patterns
  11. Event Patterns and Event-Driven Architecture
  12. Reactive Event-Driven Systems and Reactive Programming
  13. Consistency, Concurrency, and Transactions in Event-Driven Systems