Domanda

Ho 3 diversi tipi di dati: immagini, video e clip audio. Ognuno ha un punto GPS associato, quindi ho una classe di base come ad esempio:

public abstract class Data {
    public Latitude { get; set; }
    public Longitude { get; set; }
}

Questo è in modo da poter tracciare tutto su una mappa, senza preoccuparsi di quale tipo di dati si tratta. Tuttavia, ho letto che POCO non dovrebbe essere derivato dal nulla, tranne la classe object base in C #. È vero?

È stato utile?

Soluzione

No, molti oggetti POCO hanno di base classes.There c'è nessuna regola dicendo che non possono avere o dovrebbero avere classi di base. Se ha senso nell'applicazione poi farlo.

Altri suggerimenti

Non vedo nulla di sbagliato in eredità per gli oggetti CLR vecchi pianura. In realtà, l'ereditarietà è un fattore trainante sul motivo per cui mi piace usare POCO oggetti invece le cose come set di dati.

Dove l'hai letto? Come si potrebbe costruire una gerarchia di oggetti, se non si era permesso di derivare da categorie diverse System.Object? (Va da sé che System.Object sarà sempre in cima alla gerarchia di classe in .NET)

Quando si usa la parola POCO, è spesso per esprimere il contrario di quando si deve ereditare una classe di base per utilizzare un frameork come alcuni strumenti ORM richiede:

MyClass: PersistableEntity (qui PersistableEntity è una classe per gestire tecnica la persistenza in un quadro ActiveRecord)

Così non si può esprimere l'ereditarietà nella classe in quanto è possibile ereditare da una sola classe. Se è così è possibile utilizzare l'aggregazione al posto di eredità.

Quindi nel tuo esempio, la tua classe è POCO:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top