I POJO dovrebbero essere astratti? [chiuso]

-1

Il mio collaboratore tende ad avere un POJO che implementa un'interfaccia. Come il Cliente implementerebbe ICustomer, con la motivazione che ora possiamo avere più implementazioni di ICustomer. Un esempio potrebbe essere un JpaCustomer con annotazione JPA con la motivazione che ora non siamo legati a JPA. Mi sembra eccessivo assimilarlo così tanto. Qual è la tua opinione su questo? È comune?

    
posta user1874584 14.03.2015 - 00:19
fonte

2 risposte

6

Lo scopo di un'interfaccia è di consentire più implementazioni. Se hai già bisogno di implementazioni multiple di una particolare interfaccia, beh allora.

Ma avere un oggetto Interface per POJO nella remota possibilità che tu possa aver bisogno di più di una imposizione per ogni POJO non è necessario, e crea un sacco di lavoro extra senza alcun beneficio visibile.

    
risposta data 14.03.2015 - 00:25
fonte
1

In pratica è una buona idea aspettare di avere almeno due implementazioni concrete prima di astrarle in un'interfaccia o in una classe astratta. Cercare di "astrarre" da una singola implementazione non è necessario, e, peggio ancora, è quasi certo che sia sbagliato o incompleto perché ti mancherebbe qualcosa.

Ad esempio, immagina che il tuo primo Mammal che implementa sia un Cane . Crea IMammal . Quanto bene IMammal funziona per un pipistrello, una balena e un canguro?

    
risposta data 14.03.2015 - 04:56
fonte

Leggi altre domande sui tag