Menu

1 / 2

The Shape of Decoupling

DEV Community·fromthearchitect·6 months ago
#x4AvwTao
#rust#gnome#eventdriven#self#library
Reading 0:00
15s threshold

There is a moment in every codebase where someone draws a box on a whiteboard, labels it EventBus , and draws arrows fanning out to every other box. The room nods. It looks like architecture. It looks like the right architecture — loosely coupled, extensible, the textbook answer to "how do we let many components react to one thing happening?"

That diagram is a trap. I drew it for Moments , my photo manager, in late March 2026. I had the design reviewed by an external UI architect. I shipped it in April across six phased PRs. And on the third of May I deleted the whole thing in a single commit titled, with some satisfaction:

refactor: delete EventBus, AppEvent, library/commands, MediaClient v1 — closes #580

This is what I learned about why the bus was wrong, what replaced it, and the broader pattern: an event bus is decoupling-by-indirection, and the indirection itself is the cost.

What the bus looked like

The original design was, by the standards of the form, a good one.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.