Balancing Coupling in Software Design

Balancing Coupling in Software Design

$44.99

SKU: 09780137353484
Quantity Discount
5 + $33.74

Description

Harness the Power of the Multi-Dimensional Coupling Model as a Tool for Architecting Modular, Evolvable Software Systems

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.

  • Understand coupling and the ways it manifests itself in software design
  • Evaluate the multi-dimensional forces of coupling
  • Understand how the dimensions of coupling interact to impact your system
  • Steer your systems away from complexity and toward modularity

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.

  • Harness coupling as a purposeful software design tool, and improve your designs whether you use microservices or not
  • Get practical guidance for designing any modular distributed system
  • The latest book in the important Addison-Wesley Signature Series from Vaughn Vernon—by Vladik (Vlad) Khononov, a world-renowned expert in modern software architecture

Preface

Introduction

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

Appendix: Answers to Quiz Questions

Index

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.

Why modular distributed systems still fail to deliver easy, rapid change – and how to solve the problem
  • Harness coupling as a purposeful software design tool, and improve your designs whether you use microservices or not
  • Get practical guidance for designing any modular distributed system
  • The latest book in Vaughn Vernon’s important Addison-Wesley Signature Series – by Vladik (Vlad) Khononov, a world-renowned expert in modern software architecture
This book identifies the deeper problem—how software architects and designers approach coupling – and introduces an important new approach for creating more successful designs whether you use microservices or not. Instead of blindly avoiding coupling, leading software architecture expert Vladik (Vlad) Khononov proposes a novel method that transforms it into a powerful design tool: “balanced multi-dimensional coupling.” Khononov begins by surveying existing methods of evaluating coupling, and illuminating their strengths and limitations in the context of modern distributed systems. Next, he introduces a new multi-dimensional coupling model, and demonstrates how to harness it to build modular software.
Instead of focusing solely on a single approach, Balancing Coupling in Software Design illuminates underlying design principles that are ubiquitous in SOA, microservices, DDD, design patterns, and other paradigms, revealing how each of them can fail if thoughtful design principles for coupling are neglected—and how balanced coupling can make all of them work more effectively.

Additional information

Series

Imprint

Format

ISBN-13

ISBN-10

Author

Subjects

professional, higher education, Employability, IT Professional, Y-AB SOFTWARE METHODS