• Open Daily: 10am - 10pm
    Alley-side Pickup: 10am - 7pm

    3038 Hennepin Ave Minneapolis, MN
    612-822-4611

Open Daily: 10am - 10pm | Alley-side Pickup: 10am - 7pm
3038 Hennepin Ave Minneapolis, MN
612-822-4611
Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems

Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems

Paperback

Series: Addison-Wesley Signature Series (Vernon)

General EducationProgramming

ISBN10: 0137353480
ISBN13: 9780137353484
Publisher: Addison-Wesley Professional
Published: May 11 2024
Pages: 320
Weight: 1.13
Height: 0.67 Width: 7.00 Depth: 9.19
Language: English
Microservices become immensely popular because it promised to help organizations build loosely-coupled systems that allow for fast, easy change. But microservices systems haven't always kept that promise. 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.

Also from

Khononov, Vlad

Also in

Programming