"The fundamentals never go out of style, and in this book Kirk returns us to the fundamentals of architecting economically interesting software-intensive systems of quality. You'll find this work to be well-written, timely, and full of pragmatic ideas." -Grady Booch, IBM Fellow "Along with GOF's Design Patterns, Kirk Knoernschild's Java Application Architecture is a must-own for every enterprise developer and architect and on the required reading list for all Paremus engineers." -Richard Nicholson, Paremus CEO, President of the OSGi Alliance "In writing this book, Kirk has done the software community a great service: He's captured much of the received wisdom about modularity in a form that can be understood by newcomers, taught in computer science courses, and referred to by experienced programmers. I hope this book finds the wide audience it deserves." -Glyn Normington, Eclipse Virgo Project Lead "Our industry needs to start thinking in terms of modules-it needs this book!" -Chris Chedgey, Founder and CEO, Structure 101 "In this book, Kirk Knoernschild provides us with the design patterns we need to make modular software development work in the real world. While it's true that modularity can help us manage complexity and create more maintainable software, there's no free lunch. If you want to achieve the benefits modularity has to offer, buy this book." -Patrick Paulin, Consultant and Trainer, Modular Mind "Kirk has expertly documented the best practices for using OSGi and Eclipse runtime technology. A book any senior Java developer needs to read to better understand how to create great software." -Mike Milinkovich, Executive Director, Eclipse Foundation
–From the Foreword by Robert C. Martin (a.k.a. Uncle Bob)
This isn’t the first book on Java application architecture. No doubt it won’t be the last. But rest assured, this title is different. The way we develop Java applications is about to change, and this title explores the new way of Java application architecture.
Over the past several years, module frameworks have been gaining traction on the Java platform, and upcoming versions of Java will include a module system that allows you to leverage the power of modularity to build more resilient and flexible software systems. Modularity isn’t a new concept. But modularity will change the way we develop Java applications, and you’ll only be able to realize the benefits if you understand how to design more modular software systems.
Java Application Architecture will help you
- Design modular software that is extensible, reusable, maintainable, and adaptable
- Design modular software today, in anticipation of future platform support for modularity
- Break large software systems into a flexible composite of collaborating modules
- Understand where to place your architectural focus
- Migrate large-scale monolithic applications to applications with a modular architecture
- Articulate the advantages of modular software to your team
Java Application Architecture lays the foundation you’ll need to incorporate modular design thinking into your development initiatives. Before it walks you through eighteen patterns that will help you architect modular software, it lays a solid foundation that shows you why modularity is a critical weapon in your arsenal of design tools. Throughout, you’ll find examples that illustrate the concepts. By designing modular applications today, you are positioning yourself for the platform and architecture of tomorrow. That’s why Uncle Bob is dancing.