Recentemente ho avuto un piccolo "argomento" sull'eredità con un amico. Penso che la gente la usi eccessivamente. L'intuizione mi dice che l'unica buona ragione per l'ereditarietà delle classi è il polimorfismo - quando c'è un caso in cui si desidera trattare un oggetto univoco di classi diverse ma correlate.
Il nostro argomento riguardava l'avere una classe BaseEntity per Entity Framework che ha solo la proprietà Id. Il mio amico dice che va bene perché può avere archivi generici allora. W non sono d'accordo con lui.
- Di solito non esiste un repository generico, finirai con l'odore di "Rifiuto lascito".
- Qual è il modo di trattare diciamo un utente e una fattura in modo univoco? Queste sono 2 cose completamente diverse.
Purtroppo non sono riuscito a fare punti positivi nonostante "non abbia senso". :)
Dopo un po 'ho anche capito che mi sono allontanato dall'ereditarietà stessa e ora tendo ad usare le interfacce. In realtà nel mio recente progetto web (abbastanza grande) non riesco a ricordare alcuna eredità. Ora non sono più sicuro quando è una tecnica appropriata.
Quindi ragazzi, per favore aiutatemi qui.
- Cosa ne pensi di ciò che ho scritto?
- Riesci a trovare argomenti che posso usare contro il mio amico?
- Quando è davvero una buona pratica usare l'ereditarietà? (Si prega di essere specifici e lanciare alcuni esempi)
Per favore non provare a spiegarmi di cosa tratta l'eredità. Conosco molto questo e l'ho usato molto. Come ho detto sopra, nel tempo mi sono semplicemente allontanato da esso, perché non riuscivo a trovare il giusto uso per questo. Semplicemente le interfacce sembrano essere un approccio migliore per me nella maggior parte dei casi.