Balancing Coupling in Software Design

Universal Design Principles for Architecting Modular Software Systems

Paperback Engels 2024 9780137353484
€ 50,76
Levertijd ± 8 werkdagen
Gratis verzonden
Past door de brievenbus

Samenvatting

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.

Specificaties

ISBN13:9780137353484
Taal:Engels
Bindwijze:paperback
Aantal pagina's:320
Verschijningsdatum:29-10-2024

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Inhoudsopgave

Series Editor Foreword xv
Foreword by Rebecca Wirfs-Brock xix
Foreword by Kent Beck xxi
Preface xxiii
Acknowledgments xxix
About the Author xxxi
Introduction 1
Part I: Coupling 3
Chapter 1: Coupling and System Design 5
What Is Coupling? 5
Magnitude of Coupling 6
Flow of Knowledge 10
Systems 10
Key Takeaways 16
Quiz 17
Chapter 2: Coupling and Complexity: Cynefin 19
What Is Complexity? 19
Cynefin 20
Comparing Cynefin Domains 26
Cynefin in Software Design 27
Cynefin Applications 31
Cynefin and Complexity 32
Key Takeaways 32
Quiz 33
Chapter 3: Coupling and Complexity: Interactions 35
Nature of Complexity 35
Complexity and System Design 36
Hierarchical Complexity 39
Degrees of Freedom 43
Complexity and Constraints 46
Coupling and Complex Interactions 47
Example: Connecting Coupling and Complexity 48
Key Takeaways 54
Quiz 54
Chapter 4: Coupling and Modularity 57
Modularity 57
Modules 59
Modularity in Software Systems 62
Modularity, Complexity, and Coupling 68
Coupling in Modularity 73
Key Takeaways 74
Quiz 74
Part II: Dimensions 77
Chapter 5: Structured Design's Module Coupling 79
Structured Design 80
Module Coupling 80
Comparison of Module Coupling Levels 94
Key Takeaways 95
Quiz 96
Chapter 6: Connascence 97
What Is Connascence? 97
Static Connascence 98
Dynamic Connascence 104
Evaluating Connascence 110
Key Takeaways 113
Quiz 114
Chapter 7: Integration Strength 117
Strength of Coupling 118
Integration Strength 121
Intrusive Coupling 122
Afgekapt op 60 regels

Managementboek Top 100

€ 50,76
Levertijd ongeveer 8 werkdagen
Gratis verzonden

Rubrieken

Producten

    Auteurs

      Trefwoorden

        Artikelen

          Balancing Coupling in Software Design