In the traditional MVC template, the representation is directly dependent on the model, as www0z0k wrote, but I also think that this is not an ideal solution.
As you set up your controller, it acts as an intermediary between the model and the view, and this is certainly a very good solution.
However, if you need a more direct connection with the model (it will save you some code), you can create a central eventdispatcher, pass it to the models and let them use the central eventdispatcher to send their update events, then also pass the central eventdispatcher to the view and give the view listen to events sent directly by models. Thus, the view is not directly dependent on the models, but it can still listen to the events that they send. In this case, the controller will convert view events only in the model.
Chart: http://bit.ly/sTSDVT
The controller updates the model directly, but also listens to the central event manager for updates from the model (if necessary) and translates them into a view. It also listens for viewing events.
The model has only a dependency on the event dispatcher and uses it to send updates.
The view only has a dependency on the event dispatcher and listens to update events from the model. He also sends out his own events. (You can use the centralized event dispatcher for this, but I would not recommend it)
source share