At a glance
Patterns are fragments of OO models that solve specific, recurring problems. Just as we can reuse a section of code whenever we require the same functionality, so we can also reuse a section of our model whenever we face the same core problem.
A pattern is a generalised solution to a particular type of problem (such as the classic bill-of-materials). Everywhere that we face that same type of problem, we can use the same solution. In addition, a pattern typically provides a flexible and robust solution.
Using patterns enables the designer to arrive at a solution much quicker than if the designer had to devise the solution themselves. They also enable "newbies" to develop solutions that are just as flexible and powerful as those from expert designers with many years of experience.
This course introduces the concept of patterns, of which there are several different types:
- Analysis - conceptual model.
- Design - implementation model.
- Architectural - system architecture.
- Idioms - specific to a programming language.
This course focuses on design, but the principles and techniques used are applicable to all the different types. Emphasis is placed on how to evaluate and apply patterns, and in particular, how to move from the abstract to a concrete solution for the actual situation.
Intended For
Object oriented analyst/programmers, designers and architects. Anyone who is modelling object-oriented systems will find these techniques to be a valuable addition to their toolbox.
Prerequisites
Participants will need to have attended the OO Analysis and Design course, or have equivalent design experience in the industry.
Learning outcomes
At the end of this two day programme, participants will:
- Understand the benefits of using a pattern.
- Have studied several patterns in detail.
- Be able to evaluate and apply a pattern to their models.
- Have applied several design patterns to a practical case study.
Content
- What is a pattern?
- Why use a pattern?
- How to apply a pattern.
- A look at other types of pattern, with examples. What makes a pattern a pattern.
- One pattern can work together with another. Examples of pattern groupings.
- What makes a pattern flexible. How to get a good solution when there is no suitable pattern. Adding flexibility when creating your own pattern.
- Discussion and review of specific design patterns.
- Case studies.
Method Used
This is a workshop-style course, with lecturing kept to a minimum.
Participants will work through several mini case studies, each describing the situation and the problem. They will evaluate the applicability of a pattern to each situation.
A larger case study will give participants supervised experience as they identify and apply a pattern to address each problem raised with the original model.
Note: A minimum class size of six applies to “Object Oriented Design Patterns”


