UMBC  |  CSEE  |  Tarr  |  CS446

CMSC446 Introduction To Design Patterns

Spring 2005

Syllabus


Course Description

This course is an introduction to software design patterns. Each pattern represents a best practice solution to a software problem in some context. The course will cover the rationale and benefits of object-oriented software design patterns. Several example problems will be studied to investigate the development of good design patterns. Specific patterns, such as Observer, State, Adapter, Strategy, Decorator and Abstract Factory will be discussed. Programming projects in the Java language will provide experience in the use of these patterns. In addition, distributed object frameworks, such as RMI, will be studied for their effective use of design patterns.


Course Outline

  1. Introduction To Design Patterns
  2. Introduction To Java
  3. The Observer Pattern
  4. The Template Method Pattern
  5. Some OO Design Principles
  6. Factory Patterns: Factory Method and Abstract Factory
  7. The Singleton Pattern
  8. The Iterator Pattern
  9. The Composite Pattern
  10. The Facade Pattern
  11. The State and Strategy Patterns
  12. Functors and the Command Pattern
  13. The Adapter Pattern
  14. The Proxy Pattern
  15. RMI
  16. The Decorator Pattern
  17. Dynamic Proxies In Java
  18. The Chain of Responsibility Pattern
  19. Concurrency Patterns
  20. The Visitor Pattern
  21. AntiPatterns

Course Information


Texts


Bob Tarr
University of Maryland, Baltimore County
tarr@umbc.edu
UMBC  |  CSEE  |  Tarr  |  CS446