Module Overview

Object Orientation with Design Patterns

The aim of this module is:- To explain common design patterns in OO development.- To provide the learner with an in-depth understanding of how to navigate through design patterns so that they can be combined in the most optimal way to solve common design problems.- To show the similarities between system designs.- To illustrate the importance of a good design approach to OO design to allow for code reuse.- To have a working knowledge of a case tool supporting UML and design patterns.

Module Code

COMP H3032

ECTS Credits

5

*Curricular information is subject to change

Review of Object-Oriented Design (10%)

• Objects and Classes.• Constructors.• Inheritance.• Polymorphism

Introduction to Design Patterns (10%)

• History of Design Patterns.• What are Design Patterns?• Why use Design Patterns

Creational Patterns (15%)

• Explanation of the most common creational patterns.• Examples are builder, factory method, and abstract factory.

Structural Patterns (15%)

• Explanation of the most common structural patterns.• Examples are adaptor, Composite, Decorator and Flyweight

Behavioural Patterns (15%)

• Explanation of the most common behavioural patterns.• Examples are Command, Iterator, Chain of Responsibility and Observer.

Pattern Navigation (15%)

• Connections between patterns.• Navigation through patterns.• Explain the art of combining patterns in the most optimal and elegant way.

Case Studies (20%)

• Review and critique case studies where design patterns are used to solve certain software design problems

Module Content & Assessment
Assessment Breakdown %
Other Assessment(s)50
Formal Examination50