I am wondering what design patterns people use to construct complex UI or UI like application?
Let's consider a UI made up of thousands of small widgets, once one widget changes its state, it broadcasts an event to partners(maybe one hundred) to update their state correspondingly. When widget state changing, its view changes as well. However, there must be some place putting business logic, from GoF design patterns it should be Mediator. however I have no idea how people do it in real world.
I understand GoF patterns, MVC patterns, event/message system, two way data binding. I am not writing any UI application, but the problem UI(for example, Java intellij IDE) applications solve is very interesting. It manages lots of small piece(widgets) and change its behavior in line with widgets' states change. How to code such a system in a maintainable way is what I am searching. To me imperative way in such system is not working, there must be some declarative patterns for this.
Much appreciates if some one can point out some good reads. Thanks.