La aplicación utilizó el Framework de inyección de dependencias Unity.
Para poder "resolver" dependencias se desacoplaron los servicios
añadiendo interfaces y suministrandolas por constructor en los controladores. Del mismo modo en los servicios se desacoplaron los repositorios a los que
se llamaban.
Con Unity también utilizamos Interception en la capa de Servicios como se ha explicado anteriormente.
Para dejar rastro de las queries generadas por LINQ se utiliza DbCommandInterceptor. Un buen método para optimizar queries costosas.