Iterative development is one of those agile techniques that so often turn into their opposite: blinded by the very iterations, developers cannot see the upfront design they are implicitly following. Isn’t there anything we can do to improve iterative development?
In this course, you will see how a complex object-oriented design can grow iteratively, in very small steps. In every step, we will be adding one complete feature to the program, while at the same time paying due attention to principles of good object-oriented design. The end result will be a complex application which is still flexible and extensible - exactly the way we always wanted our object-oriented code to be.
In four and a half hours of this course, you will learn how to control design of classes, design of complex algorithms, and how to recognize and implement data structures.
After completing this course, you will know how to develop a large and complex domain model, which you will be able to maintain and extend further. And, not to forget, the model you develop in this way will be correct and free of bugs.