SENG322 - SOFTWARE DESIGN PATTERNS