Originariamente inviato da Grino
Oppure mettiamola così... sto dicendo che se tu classe A vuoi essere un controller e tu classe B vuoi esser un model, entrambe dovete implementare le interfacce necessarie. Mai sentito parlare di interfacce? Quelle, per ora, mal iplementate da PHP.

Altrimenti cara classe A non puoi definirti controller e cara classe B non puoi definirti model!
Ma dove sta scritta sta cosa?

Vanno benissimo le interfacce, ma una classe non puo' essere l'interfaccia di quella che la utilizza. Questa cosa si chiama circular dependency. Cito da wiki:
Circular dependencies can cause many unwanted effects in software programs. Most problematic from a software design point of view is the tight coupling of the mutually dependent modules which reduces or makes impossible the separate re-use of a single module.
http://en.wikipedia.org/wiki/Circular_dependency