ASP.NET permite configurar la inyección de dependencias en el Startup.cs . En UBIK , por ejemplo, registramos nuestras dependencias en el método Configure : Esta es la forma estándar y la que se aprende primero, pero tiene varias desventajas: Quien vaya a usar el módulo debe conocer todas sus dependencias y registrarlas en el Startup.cs . Todas las interfaces y las implementaciones deben ser públicas. Alguien podría solicitar una instancia de ICubeStore , cuando lo correcto es acceder a través de ICubeService . Crear nuevos servicios implica modificar el Startup.cs para registrar las dependencias. Por eso en AnniQ intentamos algo distinto y creamos una extensión para IServiceCollection dentro de cada módulo, que le permite "registrarse a sí mismo". Esta estrategia cubre las desventajas de la implementación anterior: Quien vaya a usar el módulo sólo debe importar y utilizar la extensión IServiceCollection.RegisterUploadModule en Startup.cs . Sólo las interfaces de cierto