Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems
by Vlad Khononov
Chapter 14
Conclusion
Modularity and complexity—opposing in aim,
Yet forces behind them, are quite the same.
Balance the coupling, show knowledge its way,
Make those bugs and code gremlins vanish away!
Modularity and complexity are diametrically opposed properties of a system’s design. Modularity facilitates ease of changes, whereas a complex system can only be changed through a tedious process of trial and error. Complexity entangles the internals of a system, while modularity promotes an intuitive understanding of the system and the interactions of its components.
If two things are exact opposites, they have to share dimensions or characteristics that enable the comparison in the first place. In the case of modularity and complexity of systems, ...
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