Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems
by Vlad Khononov
Introduction
Imagine a top-notch Swiss watch: a marvel of engineering, tradition, and craftsmanship combined. Its primary function, obviously, is accurate timekeeping. The Official Swiss Chronometer Testing Institute requires that watches not be off by more than 4 seconds slow or 6 seconds fast per day, on average, during a testing period of 15 days. But that’s not all. Modern watches also include complications, such as a chronograph, date display, moon phase, or the simultaneous display of time in multiple time zones. All this is achieved by hundreds of tiny components. Each part, no matter how small, plays a crucial role in the overarching mechanism.
But that’s not all.
The precision of interactions between components is paramount. For instance, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access