Absolutely. The
patterns give you guidance on how you might allocate the existing behaviors to different modules, expose those behaviors, and manage the dependencies. My recommendation is to take a look at the patterns and imagine how you might use them to modularize an existing application. In fact, there reference implementation in Chapter 7 does exactly this. It takes an existing application that's just one large monolith and applies the patterns. The result is a highly modular architecture.
In reality, how you modularize your application is going to shift throughout development. Looking at modularity across the lifecycle, it's easier to design coarser-grained and larger module earlier in the lifecycle. Then as things stabilize, introduce finer-grained and smaller modules through a bit of refactoring.
Visit the book's website at
modularity.kirkk.com where you can review all 18 patterns and download an excerpt of the book. There is also a
mobile web application available that you can take with you wherever you go.
--kirk
Twitter: @pragkirk