Nel design MVC, utilizzo una classe base su un'interfaccia?

2

Nella web MVC più disegni che ho visto, (semplicemente scegliendo il livello del modello come esempio) la classe del problema del dominio, ad esempio gli studenti, eredita sempre la "classe" della superclasse. Il nome è irrilevante, ma perché ereditano sempre le classi anziché le interfacce?

Ho visto altri che hanno un'interfaccia - > classe astratta - > lezione di cemento. Ma, non so perché sceglierei una classe su un inteface.

  • Dovrò eseguire qualcosa nel costruttore della superclasse in MVC? Qualche altro metodo?
  • Non conosco alcuna funzionalità reciproca ha bisogno di un'implementazione in anticipo, ma probabilmente lo è inesperienza? Non lo so.
  • Perché non solo un'interfaccia per rafforzare il mio API?

Ho visto altre risposte. Tuttavia, non l'ho visto nel contesto specifico di MVC design .

Utilizzare PHP se è importante.

    
posta johnny 02.09.2014 - 16:49
fonte

1 risposta

1

Analizziamo le differenze tra l'utilizzo di un'interfaccia e una classe base:

Se sto usando un'interfaccia, significa che devo anche implementare, per esempio, la logica di connessione per ogni classe che vuole connettersi al DB. Questo è un grande dolore.

Tuttavia, se ho appena sottoclasse una classe base (che fornisce già un metodo di connessione), allora non ho bisogno di continuare a implementarla da solo. Posso concentrarmi solo sul comportamento specializzato della classe che sto scrivendo.

Quindi, in casi come questo, l'uso di una classe base su un'interfaccia mi impedisce di ripetere me stesso fino alla nausea.

    
risposta data 02.09.2014 - 17:14
fonte

Leggi altre domande sui tag