Originariamente inviato da k.b
Ma perche' un model dovrebbe chiamare un metodo di un controller? Anzi, perche' mai un model dovrebbe istanziare un controller? Non mi viene in mente neanche un esempio in cui una cosa del genere avrebbe senso.
Il model non istanzia un controller, ma nell'esempio, che è implemetazione di MCV, lo richiede come parametro. Il controller da parte sua, essendo titolare delle logiche di funzionamento è l'unico che può e deve intraprendere una scelta qualora qualcosa non vada a buon fine o anche se le cose vanno bene o anche per casi imprevisti. Non può essere il model a sparar fuori output. Lui deve solo accedere al DB e ralzionarsi con questi. Quindi riferire al controllore che decide.

Lo schem non deve cambiare.
Il model si occupa dei dati
Il controller delle logiche di funzionamento
Il viewer di visualizzare le pagine
ed è proprio quello che succede nell'esempio (terzo post).

in più il model prescinde dal controller che lo ha invocato, è per questo che deve notificare e non a caso, ma al controller chiamante.