Przekazywanie przez konstruktor czy właściwości.

0

Witam

Mam sobie taką klasę :

 public class Controller : Base
    {
        public IList<model> Property { get; set; }

        public Controller(IList<model> parametr)
        {

            this.Property = parametr;
        }

    }

i deklaruję sobie coś takiego:

var lista = new IList<model>(); // jakas lista z modelem

    Controller controller = new Controller(lista);  //tutaj wrzucam w konstruktor
    controller.Property = lista; // tutaj też mogę wrzucić listę 

Teraz moję pytanie jaka jest różnica i jak jest lepiej ?

Przez konstruktor czy przez właściwość?

Czy nie da się tego jakoś ładniej obejść ?

Pozdrawiam Łukasz.

3

Żadne. Kontroler sam w sobie nie powinien otrzymywać danych. Od tego są akcje kontrolera - otrzymują dane przesłane przez POST/GET (tudzież inne RESTowe żądania), a wszystkie pozostałe dane wyciągają z bazy/konfiguracji.
Jeśli z jakichś powodów musisz to zrobić w ten sposób (przemyśl to!), to IMHO konstruktor będzie lepszy, bo wymusi podanie tych danych, ponadto wydaje mi się to być łatwiejsze w przetestowaniu na mockach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0