Minimize Coupling
The MVC triad contains both strong (derived type) and weak (base type) references. It’s important that you know which are which and adhere to them. Obviously, the view and controller classes must have strong references to the model – they exist to exercise the model’s domain-specific queries and commands. However, the model should never strongly reference its views or controllers. A model should export its services through queries, commands and notifications to any interested party. Therefore, the view and controller should have one-sided knowledge of their model’s capabilities.






