原理:
在Blazor应用中,有一些类是很常用的(依赖),可以将这些类(称为服务)放置到一个容器中(注入),在组件或者页码中根据需要调用。而对这些类的生存期的管理,可以交给容器来做。
在注入的时候,可以指定为接口,这样就脱离的具体实现(反转),减少代码的修改给主程序带来影响。
题外:与静态变量不同的就是生存期的和对依赖的统一管理。不过,只能在组件和页面中使用不利于OOD。
生存期:
1、Singleton
整个应用程序生命周期内只创建一个实例,该实例在需要它的所有组件间共享。
2、Scoped
每一个Request创建一个实例。
3、Transient
每当组件从服务容器获取Transient服务的实例时,它都会接收该服务的新实例。