A Simple Approach to Modular Design


When I tried to learn object-oriented design, I read the classics. At least I tried to read the classics. It didn’t go that well. It wasn’t until I began practising test-driven development that I began to truly understand the principles of object-oriented design, including how to use them effectively to drive down the cost of adding features. After a while, I recognised that I had really learned the principles of modular design in general, and not just of object-oriented design in particular. Since I learned those principles this way, I also teach them this way.

This is not a class in test-driven development, although we will review the fundamentals of test-driven development. Instead, in this class we focus on how to use a small number of simple rules to generate truly flexible designs: that is, designs that actually flex as you add more features.


If you’d like to reduce the cost of adding features and fixing defects, and build designs that respond easily to change, then this course is for you. You have probably tried test-driven development before, but even if you haven’t, we’ll review the basics and help you get started.

What you’ll learn

What you’ll do

What you’ll need to bring with you

What you should do before you attend

Related Articles