by Allen Holub
Without good OO structure, Agile development, which mandates constant refactoring, fails. Design Patterns help by providing classes of solutions to common programming problems. Patterns, however, are usually presented in a catalogue format that gives you no feeling for how the patterns are actually applied in the real world, where the patterns interact in complex ways.
This class discusses both good object oriented structure and the most commonly used design patterns, using an in-depth analysis of real code that demonstrates how the patterns work in context. We’ll also cover interface-based design and the make up of a well-structured object and class hierarchy.
The extensive code examples are in Java, but they should present no problem to C++ or C# programmers.
by Simon Brown
Designing software given a vague set of requirements and a blank sheet of paper is a good skill to have, although not many people get to do this on a daily basis. However, with agile methods encouraging collective ownership of the code, it’s really important that everybody on the team understands the big picture. And in order to do this, you need to understand why you’ve arrived at the design that you have. In a nutshell, everybody on the team needs to be a software architect.
This tutorial will show you what “just enough” up front design is, how it can be applied to your software projects, and how to communicate the big picture through a collection of simple lightweight diagrams.
Join us for a mixture of presentation, discussion and deliberate practice.
18th–21st October 2011