Sto creando visualizza modelli per ciascuna schermata dell'applicazione ASP.NET MVC. Ho inserito tutta la logica per la creazione di un modello di visualizzazione in una classe builder. Di solito, esiste una logica speciale per la conversione degli oggetti dati in modelli di visualizzazione, inclusi aggregazione, filtraggio e ordinamento. Ogni costruttore riceve un set di dipendenze , che è un oggetto che contiene le proprietà per ogni dipendenza (repository, altri builder, ecc.).Convenzioni di denominazione relative alla visualizzazione di modelli da evitare nomi lunghi
Il problema è che i miei nomi stanno diventando davvero lungo. Un insieme di dipendenza di solito hanno un nome composto in questo modo:
vista-model-name + Builder + DependencySet
Visualizza i modelli di solito hanno nomi composti da dove siete attualmente ei bambini. Ad esempio, il mio sistema ha classificato le definizioni del fornitore. Così, al fine di mostrare le definizioni di provider in una categoria, ho un modello di vista chiamato:
CategoryProviderDefinitionListViewModel
Si sarà simile a questo:
public sealed class CategoryProviderDefinitionListViewModel
{
public long CategoryId { get; set; }
public string CategoryName { get; set; }
public ProviderDefinitionViewModel[] ProviderDefinitions { get; set; }
}
Così, la mia il costruttore si chiama
CategoriaProviderDefinitionListViewModelBuilder
Quindi, il mio set dipendenza viene chiamato
CategoryProviderDefinitionListViewModelBuilderDependencySet
che si adatta a malapena attraverso lo schermo. Le mie povere dita sono stanche. Inoltre, alcune schermate mostrano quasi gli stessi dati, quindi i loro nomi dei modelli di visualizzazione sono quasi gli stessi. Quando guardo attraverso la mia cartella, diventa davvero difficile trovare le classi specifiche del modello di visualizzazione che sto cercando.
Idealmente, potrei raggruppare le mie classi di modelli di viste insieme, associandole alla vista (s) in cui sono utilizzate. Sarebbe bello evitare le collisioni e rendere i nomi il più brevi possibile, mantenendoli significativi. Qualcuno ha trovato un'organizzazione di convenzione/cartella di denominazione che funziona bene in questo scenario?
a [DTO è una cosa diversa però] (http://stackoverflow.com/questions/1051182/what-is-data-transfer-object), per cominciare, è possibile avere un DTO ** e * * guarda i modelli nella stessa soluzione. – Liam
È vero. E se questa situazione si presentasse, probabilmente opterei anche per una convenzione di denominazione diversa. Ma buon punto. – CodeMonkey