He trabajado desarrollando una ASP NET Web API 2 accedida desde AngularJS y desplegada sobre Azure.
Para información más detallada ir a la sección de esta Web.
La estructura en capas fue la siguiente:
Controladores securizados para recibir peticiones desde Front.
Los ViewModels recogidos son validados y mapeados (con automapper) a DTOs como objeto transversal por las distintas capas. Los DTOs de respuesta por los servicios son mapeados a otro ViewModel.
Servicios.
Contiene toda la lógica y cálculos de la aplicación y existen uno por cada modelo
Repositorios.
Acceso a los modelos EF para queries Procedimientos almacenados
Se enriquece con un proyecto de Tests unitarios, de integración y con Mocks.