È comune usare il modello di comando per ottenere / impostare proprietà?

3

Supponiamo di avere una classe controller con un gruppo di proprietà. Ogni volta che viene modificata una proprietà, vorrei aggiornare il modello. Supponiamo ora che io usi il modello di comando per eseguire aggiornamenti del modello. È comune usare le classi di comando all'interno della proprietà get e set della classe controller o c'è un modo migliore?

Ecco un esempio di ciò che sto attualmente utilizzando:

class MyController {
  private int _myInt;
  public int MyInt {
    get { return _myInt; }
    set {
      MyCommand cmd = new MyCommand();
      cmd.Argument = _myInt;
      cmd.Execute();  // Command object updates the model
    }
  } 
}
    
posta k rey 06.01.2011 - 05:30
fonte

2 risposte

11

Penso che sia più comune che le variazioni del valore delle proprietà aumentino un evento. Quindi, il modello o qualsiasi oggetto responsabile dell'aggiornamento del modello può sottoscriverlo ed eseguire gli aggiornamenti in questo modo.

    
risposta data 06.01.2011 - 06:05
fonte
6

Di solito si tenta di mantenere "stupidi" i setter delle proprietà, cioè eseguire aggiornamenti di base della propria classe ed evitare di fare troppo lavoro extra che può potenzialmente fallire (lanciare un'eccezione).

Se hai bisogno di ulteriore lavoro da fare, meglio rendere il setter a un metodo.

    
risposta data 06.01.2011 - 05:38
fonte

Leggi altre domande sui tag