unity data annotation c# asp.net asp.net-mvc

c# - data - ¿Cuál es la mejor convención de nomenclatura de ViewModel?



prism unity xamarin (5)

Esta pregunta ya tiene una respuesta aquí:

Estoy escribiendo un proyecto mvc2 de asp.net con muchas vistas / vistas parciales. Leyendo las buenas prácticas de MVC, me animaron a crear ViewModels. Es realmente agradable y tiene sentido hacerlo, pero he notado recientemente que ya no puedo recordar fácilmente qué modelo es para qué vista. Espero que exista una buena convención de nomenclatura para ViewModels que pueda manejar grandes proyectos.

Mi pregunta es ¿se puede mejorar esta situación?


Comencé a ir un paso más allá y especifiqué si un ViewModel se usa para generar un Formulario a través de EditorFor terminando el nombre con el Formulario. Ayuda a mantener los formularios frente a los modelos de visualización simples fácilmente identificables.


Hazlo simple:

ModelName = ViewName + "Model";

Si tiene jerarquías de modelo, a veces necesita pasar el modelo de la vista a vistas parciales. En ese caso, la regla anterior puede ser suspendida.


Me gusta mantenerlo simple, por ejemplo, si tiene un objeto llamado Carpeta:

Ver = "FolderView.xaml"

ViewModel = "FolderViewModel.cs"


Para ASP.NET MVC mantengo mis modelos de vista en un ViewModels.{Controller} y el nombre de la clase es solo {Action} . No utilizo el sufijo ViewModel tal como los archivos de vista no tienen un sufijo de Vista.


Si mantiene sus modelos de vista en el mismo conjunto que sus vistas, un truco que utilicé para ayudar a organizar las vistas con modelos de vista además de un esquema de nomenclatura simple como {View Name} ViewModel para la clase de modelo de vista es hacer lo siguiente :

  1. Crea tu clase de vista (Shell.xaml)
  2. En la misma ubicación, agregue su clase de modelo de vista (ShellViewModel.cs)
  3. Cambie el nombre del archivo de clase del modelo de vista para que tenga el mismo nombre que la vista, pero agregue .model a la ruta del archivo (Shell.model.cs)
  4. Edite el archivo de proyecto (ya sea manualmente o utilizando las extensiones de comando de energía en VS)
  5. Localice el elemento Compilar para la clase de modelo de vista en el documento XML del proyecto
  6. Agregue un elemento secundario DependentUpon cuyo contenido sea el nombre de la clase de vista
  7. Guarda los cambios y vuelve a cargar el proyecto.

Esto hará que la clase de modelo de vista se agrupe visualmente junto con el archivo de código subyacente para la vista.