Estoy creando una solución RESTful de la API Web C # .NET 4.5 y me gustaría que alguien me dijera si la solución de mi proyecto es correcta y / o inteligente (¿suficiente?) para una solución diseñada con el diseño impulsado por dominio, por favor.
La solución se ha dividido en 6 proyectos:
- / Base
(No referenciado por nada)
El proyecto web forma la interfaz entre la solución y el mundo exterior. Contiene los controladores web API. Casi no contiene lógica más allá de la recopilación de valores de los objetos de solicitud y la solicitud de trabajo a la capa de BizApi.
- /Biz.Api
(Referenciado por Base))
Proporciona los servicios de dominio y permite que el proyecto de interfaz / Base tenga acceso a los objetos de lógica de negocios del dominio en el proyecto /Biz.Domain.
- /Biz.Domain
(referenciado por Biz.Api)
Proporciona las clases de dominio para la capa Biz.Api. Estos proporcionan métodos para manipular los datos de la empresa en la memoria.
- /Dal.Db
(referenciado por Biz.Api)
La capa de repositorio de la base de datos. Accede a las bases de datos y asigna datos devueltos en DTO internos definidos en la capa / Interfaces.
- /Dal.Services
(referenciado por Biz.Api)
Proporciona una capa proxy para dependencias externas como servicios web y asigna los datos devueltos a DTO internos definidos en el proyecto / Interfaces.
- / Interfaces
(referenciado por la mayoría de los proyectos anteriores)
Contiene las clases DTO para pasar datos alrededor de la solución y las interfaces C # para definir contratos para cosas como IoC.