Hi Alex,
I feel this depends on the application, the Mediator(controller) has a crucial job of managing UI components, its dealings with the proxy are determined by its need for data storage and manipulation.This coupling can be tight or loose depending on the granularity you may require in your application.
I tend to bias slightly tighter connections due to my C++ optimization fetish's, but through my study off MVC patterns I realize the value of a looser coupling and try to design accordingly.
I find when starting my first design phase, granularity starts to become more apparent.
- Many UI components? (will it be modular and How should this breakdown?) (Commands? mediators?)
- large amount of data? (startupManager?, How many proxies?)
- need for VO's? (whats getting passed around the application?)
- Login ? (yet another proxy? or VO [value object])
- Preloading?
etc.
T