Course Title: DESIGN PATTERNS
Course Code: ITEC4125
Credit Hours: 3(3+0) Course Objectives: The main objectives of this course
are to: Demonstrate a thorough knowledge of the different design patterns.
Draw a high level class diagram in UML for each Pattern.
Course Outline:
Introduction: Overview of object-oriented design, Overview of UML & OCL.
Introduction to design patterns. Coupling and cohesion. Why design patterns?
Creational Patterns: Singleton, Abstract factory, Builder, Prototype.
Structural Patterns: Facade, Composite, Bridge, Proxy, Adapter, Decorator.
Behavioral Patterns: Chain of responsibility, Visitor, Observer, Integrator,
Command, mediator, Strategy, Interpreter, Memento.
Patterns for Concurrent and Distributed Systems: Event handling patterns,
Synchronization and concurrency patterns. Concurrency controller pattern.
Antipater’s: Common pitfalls and antimatters examples, Recovering from bad
designs, Refactoring to patterns, Introduction to aspect-oriented design:
Aspects, Themes, Concerns.