Dato il modello del modello di presentazione, è la vista, il modello di presentazione o il modello responsabile dell'aggiunta di viste dei figli a una vista esistente in fase di esecuzione?

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/150843

Domanda

Sto costruendo un'applicazione a base di Flex 4 utilizzando il modello di progettazione del modello di presentazione. Questa applicazione avrà diversi componenti come mostrato nell'immagine seguente.

enter image description here

MainView e DashboardView saranno sempre visibili e ciascuno ha modelli e modelli di presentazione corrispondenti, se necessario. Queste viste sono facilmente create dichiarando il loro MXML nella radice dell'applicazione.

<s:HGroup width="100%" height="100%">
    <MainView width="75% height="100%"/>
    <DashboardView width="25%" height="100%"/>
</s:HGroup>

Ci saranno anche molte viste widgetViewn che possono essere aggiunte a DashboardView dall'utente in fase di esecuzione attraverso un semplice elenco di discesa. Questo dovrà essere realizzato tramite ActionScript.

L'elenco a discesa dovrebbe sempre mostrare ciò che WidgetViewn è già stato aggiunto a DashboardView. Pertanto, è necessario archiviare alcuni stati su quali widgetviewn siano stati creati. Dal momento che l'elenco di WidgetViewn disponibile e quali vengono aggiunti a DashboardView, anche

La mia comprensione del modello di progettazione del modello di presentazione è che la vista è molto snella. Contiene la più vicina alla logica zero che è pratica. La vista comunica/si lega al modello di presentazione che contiene tutta la logica di visualizzazione necessaria. Il modello di presentazione è effettivamente una rappresentazione astratta della vista che supporta l'accoppiamento basso e allenta la testimonianza. Il modello di presentazione può avere uno o più modelli iniettati per visualizzare le informazioni necessarie. I modelli stessi non contengono alcuna logica di vista.

Quindi ho diverse domande su questo design.

  1. Chi dovrebbe essere responsabile della creazione dei componenti widgetViewn e aggiungerli a DashboardView? È questa responsabilità di DashboardView, DashboardPresentationModel, DashboardModel o qualcos'altro? Sembra che la DashboardPresEnationModel sarebbe responsabile della creazione/aggiunta/rimozione di eventuali viste per bambini dal suo display, ma come si fa senza passare la dashboardview a DashboardPresentationModel?
  2. L'elenco dei componenti WidgetViewn disponibili e visibili deve essere accessibile anche ad alcuni altri componenti. Va bene per un riferimento a un widgetviewn da archiviare/fare riferimento in un modello?
  3. Esistono buoni esempi del modello di modello di presentazione online in Flex che includono anche la creazione di visualizzazioni per i bambini in fase di esecuzione?

Nessuna soluzione corretta

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