According to my understanding, in the MVC design the Model can only receive the functions calls from the Controller and not from the View directly.
Is it true that the Model can change or access the View directly?
According to my understanding, in the MVC design the Model can only receive the functions calls from the Controller and not from the View directly.
Is it true that the Model can change or access the View directly?
The View knows about the model and can call its properties, fields and methods as required. Not sure if you would call that "receive function calls"?
The Model doesn't know about the view so can't call it directly
The Controller knows about the Model and the View and can affect both, although its usual not to call the view directly.
There are several flavors of MVC.
In the original concept published 1979, the view queries the model and the model doesn’t know about the views. However constant polling is not so efficient.
Subsequent MVC designs therefore generally see the view as an observer of the model. This means that views subscribe to the model and get notified of changes. The model does not know that it’s a view and can not use the full view’s interface. You’ll find an in-depth analysis of the MVC relationships in GoF (page 4 to 6).