En este mini tutorial, veremos cómo debe encararse el desarrollo de una funcionalidad nueva o de la modificación de una existente. Antes que nada, como paso obligatorio antes de continuar, te pido que leas el documento https://sites.google.com/site/noanetresources/mvc-sharp-arch/estructura-de-una-soluci%C3%B3n
Una vez leído el documento, vamos a pasar a describir los archivos que un desarrollador debe tener para el correcto desarrollo de un cambio o de una funcionalidad nueva.
Lo primero que hay que descubrir es si tenemos mapeadas las entidades con las que vamos a trabajar. Para ello, vamos a la capa Domain y confirmamos. En caso de no tener una entidad o de faltar alguna propiedad, consultar con el área de Arquitecura.
Interfaz con el repositorio: Debería estar también en el proyecto Domain, dentro de la carpeta IRepositories. Debería estar con la siguiente nomenclatura INombreDeLaEntidadRepository. Si estamos buscando por ejemplo la interfaz del repositorio de la entidad Claim, deberíamos buscar IClaimRepository. Crear estos archivos, es responsabilidad de cada desarrollador, por lo que si no está el archivo que estamos buscando, deberíamos crearlo. Normalmente, se suele utilizar como guía algunos de los archivos que ya están creados.
Repositorio: Debería estar en la capa de Infrastructure. El nombre debería ser: NombreDeLaEntidadRepository. Si estamos buscando por ejemplo el repositorio de la entidad Claim, deberíamos buscar ClaimRepository. Crear estos archivos, es responsabilidad de cada desarrollador, por lo que si no está el archivo que estamos buscando, deberíamos crearlo. Normalmente, se suele utilizar como guía algunos de los archivos que ya están creados.
Interfaz de la Lógica: Debería estar en la capa de Logic dentro de la carpeta Contracts. El nombre debería ser: INombreDeLaEntidadLogic. Si estamos buscando por ejemplo la interfaz de la lógica de la entidad Claim, deberíamos buscar IClaimLogic. Crear estos archivos, es responsabilidad de cada desarrollador, por lo que si no está el archivo que estamos buscando, deberíamos crearlo. Normalmente, se suele utilizar como guía algunos de los archivos que ya están creados.
Lógica: Debería estar en la capa de Logic, dentro de la carpeta Commons o, en caso de tener un comportamiento particular, en la carpeta con el nombre del cliente. El nombre debería ser: NombreDeLaEntidadLogic. Si estamos buscando por ejemplo la Lógica de la entidad Claim, deberíamos buscar ClaimLogic. Crear estos archivos, es responsabilidad de cada desarrollador, por lo que si no está el archivo que estamos buscando, deberíamos crearlo. Normalmente, se suele utilizar como guía algunos de los archivos que ya están creados.
Controlador: Debería estar en la capa de Presentation, en la carpeta Controller. El nombre debería ser: NombreDeLaEntidadEnPluralController. Si estamos buscando por ejemplo el controlador de la entidad Claim, deberíamos buscar ClaimsController. Crear estos archivos, es responsabilidad de cada desarrollador, por lo que si no está el archivo que estamos buscando, deberíamos crearlo. Normalmente, se suele utilizar como guía algunos de los archivos que ya están creados.
Vistas: Debería estar en la capa de Presentation, en la carpeta Views. Estos archivos no aplican si el proyecto en cuestión es una API. El nombre de la vista, debe ser descriptivo de lo que representa la vista y debe estar en la carpeta Views, subcarpeta common o del cliente con el que se quiere trabajar, subcarpeta con nombre de la entidad en Plural. Esto quiere decir que si quiero hacer una vista para crear un reclamo debería situarme en Views\Commons\Claims\Create.cshtml. Crear estos archivos, es responsabilidad de cada desarrollador, por lo que si no está el archivo que estamos buscando, deberíamos crearlo. Normalmente, se suele utilizar como guía algunos de los archivos que ya están creados.