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.
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 Examination | 50 |