Unity框架原本是微软官方的,现在转社区版本了。
相当于一手的二手。不知道是几个意思。
现在官方的变成了 Microsoft.Extensions.DependencyInjection。
问题来了,为啥有了Unity依赖注入包,啥微软还搞出个Microsoft.Extensions.DependencyInjection
最重要的有几点:
(1)从.NET Core开始,微软越来越注重提供一个内置、标准化的依赖注入容器,以简化开发者的开发流程,并确保跨不同.NET项目的一致体验。
(2)这个Microsoft.Extensions.DependencyInjection和.net Core的一些特性高度集成(如日志、配置、选项等)
(3)未来的.NET版本将持续支持Microsoft.Extensions.DependencyInjection,这个第三方的框架做不到。
然而,奇怪的是Microsoft.Extensions.DependencyInjection是不支持AOP的。而Unity是支持的,这东西即是IoC框架,也支持AOP(Unity 提供了 Interception 扩展用于拦截对象消息从而进行 AOP 的编程,但它本身并不是一个真正意义上的 AOP 框架,因为它并不能直接往已经存在的对象中插入代码,也无法为构造函数插入代码。)。
为啥正宗官方的在AOP这一点上输给了个二手社区的?
而且,现在都到.NET 8了,微软还不打算支持AOP吗?
真不知道是几个意思?!

