Design Patterns 3rd year optional lecture.