Prima di tutto non sono arrabbiato, perché uso MVVM in WinForms-) So del pattern MVP (Model View Presenter) e delle sue varianti. Ma quando ho iniziato questo progetto stavo per imparare WPF e usarlo, ma sono costretto ad affrettare lo sviluppo del programma, e non ho tempo per imparare WPF, quindi devo scriverlo in WinForms che conosco bene.Windows Forms (WinForms) Modello Visualizza ViewModel pattern (MVVM) a DataBind o no
Quindi, in breve, ho una grande applicazione client orientata ai dati, che è vicina alla fine, ho tutti i modelli e ViewModels fatto (infrastruttura, dominio, presentazione fatta) l'interfaccia utente è stata fatta, ora ho solo bisogno di collegare l'interfaccia utente a ViewModels. Per prima cosa ho iniziato a cablarlo utilizzando il metodo standard winforms (BindingSources e semplice associazione dati) ma quando ho eseguito il 30-50% del binding ho scoperto che il mio programma funziona molto lentamente, ho 100-150 proprietà associate totali finora, 30 di sono binding di entità di dominio (radice aggregata) al suo EditForm. Quindi il database non funziona bene in questa situazione, molti aggiornamenti non necessari, aggiornamenti a cascata dell'intera vista quando qualcosa di piccolo cambia, comportamento poco chiaro e altre cose brutte. Ha un odore di codice molto inaffidabile, sul quale ho poco controllo. Così ho iniziato a riscrivere il cablaggio come puro codice WinForms pulito (sottoscrivendo gli eventi PropertyChange e ListChanged e impostando la proprietà ViewModels da solo dall'interfaccia utente). Un sacco di codice da scrivere ma funziona molto più velocemente, ho il pieno controllo su questo e mi sento molto più affidabile. Allora, qual è il tuo pensiero su questo ragazzi? Qualcuno aveva una tale esperienza? Qual è il tuo verdetto su "To DataBind o Not"?
vedi anche http://stackoverflow.com/questions/654722/implementing-mvc-with-windows-forms/682216#682216 –