Sign In

 SWE 436: Object-Oriented Design Patterns

​Course Information

Class/Laboratory Schedule: 

3 lectures per week, 50 minutes each (3-0-3).

Designation:   Elective Course

Course Level:   Undergraduate


Prerequisite Courses: 

Catalog Description: 

A depth study of object-oriented design patterns. How design patterns solve design problems? How to select a design pattern? How to use a design pattern? Detailed study of creational patterns, structural patterns, and behavioral patterns. Case studies.


E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software: Addison-Wesley, 1995.

Reference(s) and Other Material: 

  • A. Shalloway and J. Trott, Design Patterns Explained: A New Perspective on Object-Oriented Design, 2nd edition, Addison-Wesley, 2004

Course Outcomes: 

Upon completion of this course, students will have the ability to:

  • Demonstrate sound knowledge of design patterns
  • Communicate program structures using design patterns.
  • Select appropriate design patterns for design problems.
  • Apply patterns in new designs.
  • Evaluate design patterns.
  • Recognize patterns in designs

Topics Covered: 

  • Introduction to design patterns
  • What is a design pattern?
  • How design pattern solve design problems
  • How to select a design pattern
  • How to use a design pattern
  • Creational patterns
  • Abstract factory
  • Builder
  • Factory method
  • Prototype
  • Singleton
  • Structural patterns
  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Façade
  • Flyweight
  • proxy
  • Behavioral patterns
  • Chain of responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template method
  • visitor​