Welcome! For a while now, I’ve been working on a book on designing software systems with a modular architecture. Your feedback is valuable to me, so I’ve setup this site to offer a transparent view into my work in progress on the book. On this site, you’ll find the sample chapters and code for the book.

Keep in mind that my work here is very much in flux. The organization of the book is not yet set in stone and the pattern catalog isn’t necessarily final. Because this is a work in progress, don’t expect anything entirely polished at this point. It’s also likely that pages will come and go as work progresses. To start exploring the contents as it stands today, start by visiting the Chapters page.

My current vision for the book is to divide it into two main parts. The first part explains why modularity is so important. I call this section, The Case for Modularity. The second part presents a catalog of modularity patterns, or recipes to guide your effort in creating more modular software systems. I expect the final book to be somewhere in the range of 250 – 300 pages, with roughly 75 – 100 pages devoted to Part 1 and around 200 on the patterns.

I welcome comments, but please focus on the content, and ignore typos and other minor grammatical errors. Enjoy!