Suponiendo que quiero utilizar un marco de inyección de dependencias en un enfoque de AOP, con el objetivo de producir módulos de código. ¿Cuál es la mejor práctica para la propiedad de las interfaces compartidas? Por propiedad me refiero al cuerpo de código que necesita referenciarse para usar la interfaz.Dependency Injection - ¿A quién pertenece la interfaz?
Mi primera conjetura es que en AOP se definiría una biblioteca de clases de interfaces, espacios de nombres por aspecto. por ejemplo: company.aspect.logging.ILogger. Cada módulo haría referencia a esta biblioteca y evitaría que cualquier código involucrado en la implementación de ILogger también definiera ILogger.
¿Mejores prácticas?
Eso es exactamente lo que yo haría (tener interfaces en clases separadas que solo contienen interfaces). – Tomas