Keywords
Agile design development object OO oriented patternsAgile techniques are about doing things "faster-better-cheaper", delivering value as quickly as possible. Reusable patterns are one approach to assist in this goal.
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.

This course is part of the Agile Academy curriculum. Software Education is proud to be a founding partner of the Agile Academy.
Training Courses in Sydney Australia
The Design Patterns for Agile Development training course will run in Sydney Australia on the following dates: 18 September 2012.


