Entity: eredita la classe (o l'interfaccia) o scrive il codice

2

Voglio capire se è meglio ereditare una classe base o un'interfaccia o scrivere il codice per le entità. Per dipingere meglio l'immagine, si supponga lo scenario seguente:

Scenario:

  • Ci sono 30 entità
  • Tutte le entità hanno 2 campi comuni (createdDate, modifiedDate)
  • 10 delle entità hanno anche un campo aggiuntivo chiamato serverStatus

Qual è il modo migliore per codificare queste entità:

  1. Crea una classe base con 2 campi comuni e tutte le 30 entità ereditalo
  2. Esegui l'azione precedente (1) e crea un'interfaccia che contenga serverStatus e che le 10 entità ereditino anche l'interfaccia
  3. Copia e incolla i campi in ogni entità (incluso serverStatus nelle 10 entità)

Pensieri sul modo corretto di avvicinarsi a questo?

    
posta Aeseir 04.11.2017 - 08:56
fonte

1 risposta

2

Come sempre, tienilo semplice.

public abstract class EntityBase {
    public DateTime CreatedDate { get; set; }
    public DateTime ModifiedDate { get; set; }
}

public abstract class EntityWithStatus : EntityBase {
    public int ServerStatus { get; set; }
}

I tuoi tipi di entità concrete possono quindi derivare da EntityBase o EntityWithStatus a seconda dei casi.

    
risposta data 04.11.2017 - 09:42
fonte

Leggi altre domande sui tag