Originariamente inviato da Santino83_02
Chiamalo come ti pare, ma almeno accetta le critiche. lo schema dice che il controller usa e istanzia e "manipola" oggetti di tipo model e view per mettere assieme tutto il pattern

come dicono gli stessi Dei di Zend:




le frecce tratteggiate indicano presumibilmente la chiamata di metodi sugli oggetti e il loro ritorno, come normalmente si effettua

c'è anche l'uso dell'observer come piu o meno dici te:

http://ootips.org/mvc-pattern.html

citato anche dagli stessi zendiani, solo che, come ti è stato detto prima, in un ambiente stateless è una scelta inutile. E cmq li si parla di observer tra view e model, in maniera da modificare il comportamento della view a seconda dello stato del model, non certo tra model e controller.

come dicono bene quelli di zend:



L'interazione tra model e controller è da evitare per il semplice fatto che così facendo leghi il controller col model in maniera molto forte, e probabilmente anche inutile, perchè basterebbe che il model torni un risultato di un'operazione invece di invocare eventi così, a buffo. Questo ti permette poi di poter utilizzare i model in maniera trasparente da qualsiasi altro oggetto, senza bisogno che tale oggetto si registri nel model o implementi un'interfaccia specifica. E soprattutto ti permette di giocare con i model senza legarti a nessuno in particolare.

Se tu vuoi fare un oggetto che NON SIA un controller ma che cmq lavori con dei model, ad esempio per incapsulare una logica di business molto complicata ma usata in molti punti del programma, che fai? devi fare un controller che non sia un controller o cose simili? implementare interfacce inutili? estendere (dio ce ne scampi) altre classi?

cioè lo puoi anche fare, per carità ognuno è genio e inventa i modi che gli tornano piu comodi, solo che quello non è mvc, non è codice disaccoppiato, controller e model fanno piu di quello che devono fare, in particolare il model, e il model è sostanzialmente inutilizzabile da oggetti che non implementano determinate interfacce, quando lo scopo del model è essere usato in maniera trasparente e senza fronzoli.
Ok tutto giusto, magnifico ma non mi spieghi perchè c'è una freccetta tratteggiata che va dal model fino al controller nello schema di Zend.

Mi vorrai mica dire che hanno inserito un fronzolo?

Io la mia piccola soluzione per rispondere a chi ha fatto una domanda l'ho data. E' nel terzo post. Non è certo una soluzione da produzione ma è qui. La vostra dov'è? La critica l'accetto se porta soluzioni. Qual'è la vostra soluzione?

Postate del codice... ci arricchiremo tutti!