Ho alcune domande sul pattern MVP in un progetto WinForms

1

Spero che qualcuno possa rispondere a questi.

Ho un progetto WinForms con moduli di +/- 8. Ho un database SQLite e una classe che gestisce le query su questo database. Vorrei utilizzare il pattern View passivo in modo che la vista non abbia alcun collegamento al modello.

  1. È un modulo una vista? / un modulo può essere una vista? Che deriva da una classe IFormView
  2. Ogni modulo ha il proprio Presenter? In caso contrario, come è organizzata questa organizzazione?
  3. Il relatore da un modulo, crea un altro modulo / Visualizza quando voglio un controllo su un modulo per aprire un altro modulo?
  4. Il mio database classifica un modello? Tutti i miei dati richiesti sono all'interno del database, quindi questa classe ha avuto accesso ad esso, ma in realtà non lo memorizza come ho visto in molti esempi. Oppure ho bisogno di creare modelli che hanno i dati richiesti come attributo (che viene aggiornato e ottenuto dal database).

Grazie per aver risposto.

    
posta Marthe Veldhuis 09.10.2016 - 16:38
fonte

1 risposta

3
  1. Is a form a View?/ Can a form be a View? Which derives from a IFormView class

Sì. Precisamente.

  1. Does each form have their own Presenter? If not, how is this organized instead?

Questo è in genere il modo in cui mi avvicino.

  1. Does the Presenter from one form, create another form/View when i want a control on the one form to open another form?

Sì. L'hai inchiodato.

  1. Is my database class a Model? All of my required data is inside the database, so this class had access to it, but does not really store it as i've seen in many examples. Or do i need to create Models that have the required data as an attribute (which is updated by and obtained from the database).

Dipende da cosa intendi per "Modello". È una parola ambigua.

Potresti averne una o tutte le seguenti:

  • Visualizza i modelli che rappresentano elementi visivi. (Pensa al modello di visualizzazione MVC, non alla VM di MVVM, che in realtà è un controller).
  • Modelli di business che consistono in una o più classi che contiene la "logica aziendale" a cui il Presenter delega a cui lavora.
  • Modelli di dati che rappresentano il modo in cui i dati vengono effettivamente mantenuti.

Tipicamente, il "Modello" in MVC (l'architettura, non il framework) si riferisce al modello di business.

... la denominazione è difficile.

    
risposta data 10.10.2016 - 00:31
fonte

Leggi altre domande sui tag