interfacce e metodi astratti implicano che l'implementazione di tali metodi avvenga nelle classi che estendono/implementano tali classi giusto?
in questo modo, non posso richiamare automaticamente il metodo di default, anzi ogni classe "figlia" , avrebbe dovuto contenere nel proprio costruttore una cosa del tipo $this->main che prioprio non mi piace.
In secondo luogo, il mio controller deve caricare delle classi che si occupano di recuperare i dati ecc... questo non è possibile con clasi astratte, poichè queste non contengono alcuna definizione dei metodi.
Prima di passare a questa implementazione , sono passato attraverso i (giustissimi) dettami dell'OOP ovvero tramite una classe astratta che obbligava il programmatore client ad implementare il metodo main... ma mi ritrovavo con una gerarchia delle classi abbastanza complessa per un progetto di piccole dimensioni.
Io sono un convintissimo sostenitore dell'OOP ma mi sono dovuto confrontare con un progetto troppo piccolo.. se avessi seguito alla lettera i sacri testi della programmazine ad oggetti mi sarei ritrovato una infrastruttura che avrebbe pesato il 60% del progetto stesso.. non nascondo di voler espandere il mio lavoro, per cui ho conservato la vecchia implementazione![]()
Spero di non aver detto eresie... in caso vi prego di farmele notare (magari non prendetemi a bastonate)