Prima di tutto, non sono entusiasta del titolo, quindi sono aperto a suggerimenti lì. Ecco la mia domanda:
Sto progettando una semplice applicazione che prende input da un utente e produce un documento di output. L'applicazione consentirà all'utente di selezionare da un breve elenco di tipi di documenti che determineranno quale "modulo" viene quindi visualizzato in modo che possano immettere dati specifici per il documento di output desiderato.
La vista principale presenterà solo un elenco di tipi di documento da cui l'utente può selezionare, e selezionando uno si otterrà la vista di input del documento appropriata visualizzata. Ho un'interfaccia definita nel mio livello di presentazione per la vista principale e mi chiedo come definire l'elenco dei tipi di documenti che verranno esposti attraverso quella vista. In altre parole, la vista principale può avere un menu a discesa che visualizza i nomi dei tipi di documento disponibili. Infine, ci sarà un'interfaccia di visualizzazione associata a ciascun tipo di documento e una classe di modello per ogni tipo di documento che ovviamente implementerà la logica di business sottostante per quel tipo di documento.
Quindi ecco la domanda: dovrei creare una classe o struttura completamente separata, terziaria (forse un enum) per ogni tipo di documento che popolerà l'elenco di tipi di documenti disponibili nella vista principale e verrà esposto tramite l'interfaccia di visualizzazione principale? In tal caso, dove dovrebbero risiedere quelle classi rispetto al resto dell'applicazione, cioè su quale "livello". O dovrei esporre i modelli del tipo di documento?