Advanced Object-Oriented Design with Design Patterns Course

Course Outline

Day 1

What is Object Oriented Technology

Dependencies
Review of basic OO Concepts
Classes, Objects, Associations
Inheritance
Polymorphism
Abstract Classes
Interfaces
State Models

 

UML

Class Diagram
Sequence Diagram
Collaboration Diagram
State Diagram
Activity Diagram
Exercise

 

Introduction to Design Patterns

State Pattern
Two-Level State Pattern
Three-Level State Pattern
State Machine Compiler

 

Development Process

Waterfall versus Iterative Development

Exercise

 

Day 2

Review of Day 1 Exercise

More Design Patterns

Abstract Server Pattern
Adapter Pattern
Template Method Pattern
Composite Pattern

 

Principles of Class Design

Properties of Good Design
Single Responsibility Principle
Open-Closed Principle
Liskov Substitution Principle
Dependency Inversion Principle
Interface Segregation Principle

Exercise

 

Day 3

Review of Day 2 Exercise

 

More Design Patterns

Bridge Pattern
Command Pattern
Strategy Pattern
Visitor Pattern

 

Package Principles

Packages
Reuse-Release Equivalency Principle
Common Closure Principle
Common Reuse Principle
Acyclic Dependencies Principle
Stable Dependencies Principle
Metrics

Instability Metric
Abstractness Metric
Main Sequence

 

Additional Patterns

Abstract Factory Pattern
Whole Value Pattern
Null Object Pattern
Model-View-Presenter Pattern for UI Design

 

Summary