Domanda

Qual è la differenza rispetto al controller che ottiene il ritorno rispetto al rendering dell'elenco?

Nel contesto dati Linq:

public IList<Response> GetResponses(int ID)
    {
        var responses = from r in this.Responses where r.ID == ID orderby r.Date select r;

        return responses.ToList();
    }

O

 public List<Response> GetResponses(int ID)
    {
        var responses = from r in this.Responses where r.ID == ID orderby r.Date select r;

        return responses.ToList();
    }
È stato utile?

Soluzione

Dubito che ci sia molta differenza rispetto al responsabile del trattamento, ma probabilmente dovresti provare a rivelare quante meno informazioni possibili sui dati privati ​​delle tue lezioni.Ciò significa esporre interfacce anziché tipi concreti e utilizzare l'interfaccia che espone la quantità minima di informazioni necessarie al client per operare sui dati.

Se il controller necessita solo di un file IEnumerable<Response> allora dovresti considerare di renderlo il tipo di reso di GetResponses.

Altri suggerimenti

La differenza è che non sarà necessario aggiornare il controller se si modifica l'implementazione dell'elenco se si utilizza l'interfaccia IList. Probabilmente non è un grosso problema a meno che tu non abbia intenzione di rendere la tua biblioteca disponibile per gli altri. In tal caso, l'astrazione è probabilmente giustificata in quanto non sarai l'unico a dover aggiornare il codice se apporti la modifica.

Valuta la possibilità di restituire un array, considera di accettare IEnumerable come parametro.

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