Open azarboon opened 1 month ago
I'm considering to add few checkpoints to address coupling and its dimensions, perhaps in Component Diagram page(?). So, readers, at least, consider this point and may want to add it to their diagram. @simonbrowndotje what's your advice?
Gregor Hohpe is a thought leader in Enterprise Integration. He argues that nature of relationships (sync, async, etc) and facets of coupling (below) should be communicated.
Also, as per Mark Richards and Neal Ford, "coupling" is one of the three factors for measuring modularity of the system. "dynamic diagram" attempts to address this but as per doc, it's not mandatory. "coupling" has been referenced briefly in the doc. Also, the below sample component diagram omits many facets of coupling: time, space, technology, etc. So, I'm wondering how does C4 communicate coupling to readers? May I create a PR and address this?
Sources: Fundamentals of Software Architecture: An Engineering Approach https://www.enterpriseintegrationpatterns.com/ramblings/coupling_facets.html https://architectelevator.com/cloud/iac-architecture-as-code/