Design patterns
Please see the
Lecture notes
.