kitlau
kitlau

kitlau's blog

DependencyInjection


还在背依赖注入的概念?不如自己写一个依赖注入框架

在控制台应用中使用依赖注入时,Singleton 和 Scoped 生命周期的行为并不完全相同。通过代码示例展示了即使在控制台环境中,Scoped 服务在不同作用域(Scope)下会生成不同的实例,而 Singleton 服务在整个应用程序生命周期内始终保持唯一实例。文章还指出,有些人错误地认为在控制台应用中 Scoped 与 Singleton 的行为一致,但事实并非如此。进一步说明了即使注册为 Singleton 的服务,在某些特定情况下也可能获取到不同的实例。文章批评了应试教育式的编程学习方式,强调这种教学方法扼杀创造力,并呼吁采用更实践和深入的学习方法来理解依赖注入的真正机制。--DeepSeek

.NET DependencyInjection Dependency Injection Service Lifecycles Software Engineering Design Patterns

你真的需要 Autofac 吗?Scrutor:更轻量的容器伴侣

这篇文章探讨了ServiceLocator反模式的问题,并介绍了如何使用轻量级依赖注入扩展库Scrutor来替代Autofac。作者详细讲解了几种使用Scrutor的方法,包括基于接口名称的批量注册、装饰器模式等高级功能。同时,文中还比较了两种标记方式:Marker接口和Attribute,解释了各自的优缺点。最后,文章总结了Scrutor的优势,并鼓励读者在项目中采用这种轻量级解决方案,避免引入不必要的复杂性。--DeepSeek

.NET DependencyInjection ServiceLocator BatchRegistration DecoratorPattern LightweightLibrary

  • 1