Balancing Coupling in Software Design: Successful Software Architecture in General and Distributed Systems, 1st edition

Published by Addison-Wesley Professional (September 26, 2024) © 2025

  • Vlad Khononov
Products list

Access details

  • Instant access once purchased
  • Fulfilled by VitalSource
Products list

Access details

  • Instant access once purchased
  • Fulfilled by VitalSource

Title overview

Learn How Coupling Impacts Every Software Design Decision You Make

If you want to build modular, evolvable, and resilient software systems, you have to get coupling right. Every design decision you make influences coupling, which in turn shapes the design options available to you.

Since the dawn of software engineering, it's been clear that proper management of coupling is essential for architecting modular software systems. This topic has been extensively researched over the years, but some of that knowledge has been forgotten, and some of it is challenging to apply in this day and age. In Balancing Coupling in Software Design, author Vlad Khononov has built a model that not only draws on this accumulated knowledge, but also adapts it to modern software engineering practices, offering a fresh perspective on modular software design.

With principles grounded in practice, Vlad teaches you not only to navigate the multi-dimensional nature of coupling but also to use coupling as a tool for managing complexity and increasing modularity. And who knows, maybe this book will change the way you think about software design as whole.

  • Defines the concept of coupling and the role it plays in system design and architecture
  • Explains how coupling can both increase complexity and foster modularity of a system
  • Introduces a holistic model that turns coupling into a tool for designing modular software
  • Shows how to evolve design decisions to support continuous growth of software systems
  • Illustrates the discussed principles with detailed examples based on real-life case studies

Table of contents

  • Part I: Coupling
  • Chapter 1: Coupling and System Design
  • Chapter 2: Coupling and Complexity: Cynefin
  • Chapter 3: Coupling and Complexity: Interactions
  • Chapter 4: Coupling and Modularity
  • Part II: Dimensions
  • Chapter 5: Structured Design's Module Coupling
  • Chapter 6: Connascence
  • Chapter 7: Integration Strength
  • Chapter 8: Distance
  • Chapter 9: Volatility
  • Part III: Balance
  • Chapter 10: Balancing Coupling
  • Chapter 11: Rebalancing Coupling
  • Chapter 12: Fractal Geometry of Software Design
  • Chapter 13: Balanced Coupling in Practice
  • Chapter 14: Conclusion
  • Epilogue
  • Appendix A: The Ballad of Coupling
  • Appendix B: Glossary of Coupling
  • Appendix C: Answers to Quiz Questions

Need help?Get in touch