Estoy creando una solución RESTful de API web .NET 4.5 C # y me gustaría que alguien me diga si la solución de mi proyecto es correcta y / o acertada (¿suficiente?) Para una solución diseñada usando 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 y forma la interfaz entre la solución y el mundo exterior. Contiene los controladores de API web. Casi no contiene lógica más allá de recopilar valores de objetos de solicitud y pedir trabajo a la capa BizApi.
- /Biz.Api
(Referenciado por la base])
Proporciona los servicios de dominio y permite que el proyecto de interfaz / Base tenga acceso a los objetos de lógica de negocios de 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 del negocio 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 a dependencias externas como servicios web y asigna sus datos devueltos a los 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.
fuente