In this definitive guide, Vlad Khononov introduces a novel approach to designing modular software systems that turns coupling into a powerful design tool.
Software, like all systems, is composed of components that interact to form the system itself. Coupling is the metric used to represent the interdependence between connected components, and the magnitude of coupling ultimately affects the adaptability and success of the software system. Balancing Coupling in Software Design surveys existing methods of evaluating coupling and combines them into a comprehensive model for making design decisions that manage complexity while increasing the modularity of your software system.
Coupling is everywhere in software development. Whatever your job level or title, whether you are writing a function, designing an object model, or architecting distributed systems, this book is for you.
The principles discussed in Balancing Coupling in Software Design are ubiquitously relevant in software engineering and will transform the way you think about software design.
Vlad Khononov is a software engineer with extensive industry experience, working for companies large and small in roles ranging from webmaster to chief architect. His core areas of expertise are distributed systems and software design. Vlad consults with companies to make sense of their business domains, untangle monoliths, and tackle complex architectural challenges.
Vlad maintains an active media career as a public speaker and author. Prior to Balancing Coupling in Software Design, he authored the best-selling O'Reilly book Learning Domain-Driven Design. He is a sought-after keynote speaker, presenting on topics such as domain-driven design, microservices, and software architecture in general.