L'interfaccia dovrebbe essere utilizzata solo per il comportamento e non per mostrare i dati logici raggruppati insieme? [duplicare]

0

L'interfaccia dovrebbe essere utilizzata solo per specificare determinati comportamenti? Sarebbe sbagliato utilizzare l'interfaccia per raggruppare i dati logicamente correlati?

Per me sembra che non dovremmo usare l'interfaccia per raggruppare i dati logicamente correlati in quanto la struttura sembra più adatta. Si può usare una classe, ma il nome della classe dovrebbe indicare qualcosa come DTO in modo che l'utente abbia l'impressione che la classe non abbia alcun comportamento.

Per favore fammi sapere se la mia ipotesi è corretta.

Inoltre, ci sono delle eccezioni in cui l'interfaccia può essere utilizzata per raggruppare i dati logicamente correlati?

    
posta jags 29.05.2014 - 08:17
fonte

1 risposta

0

Non so se ho capito bene ma l'interfaccia può essere usata come generalizzazione per qualcosa (nascondi dettagli) e può anche essere usata come tipo, che raggruppa altri tipi.

Recentemente ho lavorato sulla creazione di semplici ORM (per database di grafici) e ho creato molte interfacce vuote solo per valori specifici di gruppo. C'erano nodi semplici, nodi estesi e nodi speciali. Tutti loro derivano da poche interfacce come:

internal interface Node 
{
    void SetLabel(string label);
    Dictionary<string, object> Properties {get; }
    void AddProperty(string propertyName, object propertyValue);
}

internal interface SpecificNode : Node {}
internal interface ExtendedNode : Node {}

Come puoi vedere, SpecyficNode è solo tipo e non definisce alcun comportamento.

    
risposta data 29.05.2014 - 12:36
fonte

Leggi altre domande sui tag