Noté que uno de los argumentos en contra del uso de CSL es falso, porque los desarrolladores piensan que esta biblioteca solo es capaz de hacer el patrón de Localizador de servicios. Sin embargo, este no es el caso, porque también es fácil de usar con el patrón de Inyección de Dependencia.
Sin embargo, la biblioteca CSL se diseñó especialmente para diseñadores de frameworks que necesitan permitir a los usuarios registrar dependencias. Debido a que la biblioteca llamará al CSL directamente, desde la perspectiva del marco estamos hablando del patrón SL, de ahí su nombre.
Como diseñador de frameworks, tomar una dependencia del CSL no debería tomarse a la ligera. Para la usabilidad de su marco, normalmente es mucho mejor tener su propio mecanismo DI. Un mecanismo muy común es configurar dependencias en el archivo de configuración. Este patrón se usa en todo el framework .NET. Casi todas las dependencias pueden ser reemplazadas por otras. El patrón de proveedor de .NET se basa en esto.
Cuando usted, como diseñador de marcos, toma una dependencia del CSL, será más difícil para los usuarios usar su aplicación. Los usuarios deberán configurar un contenedor IoC y conectarlo al CSL. Sin embargo, no es posible que el marco valide la configuración como se puede hacer al usar el sistema de configuración .NET, que tiene todo tipo de soporte de validación.
¿Está buscando escenarios de uso para el Localizador de servicios comunes específica o más generalmente para el patrón de localizador de servicios? Los términos no son necesariamente intercambiables ... – MattDavey