Reducing Dependencies
I’ve covered loose-coupling before , and discussed systems where the components have limited knowledge — and use! — of each other. While the focus in that article was on semantics, let’s get a wee bit more specific, and look at what the actual dependencies we want to reduce are. ( And make no mistake about it — we want to reduce dependencies. The cartoon above isn’t really a joke, most — if not all — systems trend towards something that looks like that… ) Anyhow, when we talk about reducing coupling, we’re basically talking about reducing (or eliminating) one or more of the following • Signal Dependency (“ Disintermediation ”): How dependent are your components on information (signals!) from each other? Are they capable of working on different things independently? As a really simple example, think of an “old-school” UI in which every time you do something, it needs to go to the server to validate the action, vs a “modern” PWA where everything is ...