Who This Book Is For
This book is for the software developer or architect responsible for developing software applications. If you’re interested in improving the design of the systems you create, this book is for you.
This book is not exclusively for individuals who are using a platform that provides native support for modularity. For instance, if you’re using OSGi, this book helps you leverage OSGi to design more modular software. But if you’re not using OSGi, the techniques discussed in this book are still valuable in helping you apply techniques that increase the modularity of your software systems. Nor is this book exclusively for Java developers. Although the examples throughout this book use Java, the techniques discussed can be applied to other platforms, such as .NET, with relative ease.
If you want to understand more deeply the benefits of modularity and start designing modular software systems, this book is for you! This book provides answers to the following questions:
- What are the benefits of modularity and why is it important?
- How can I convince other developers of the importance of modularity?
- What techniques can I apply to increase the modularity of my software systems?
- How can I start using modularity now, even if I’m not developing on a platform with native support for modularity, such as OSGi?
- How can I migrate large-scale monolithic applications to applications with a modular architecture?