.NET Core 设计模式实现与 Web 应用开发指南
1. .NET Core DI 实现工厂
.NET Core DI 在注册依赖项时支持指定实现工厂,这能让开发者控制服务提供的依赖项创建。通过IServiceCollection接口的扩展方法来实现:
public static IServiceCollection AddSingleton<TService, TImplementation>(this IServiceCollection services, Func<IServiceProvider, TImplementation> implementationFactory) where TService : class where TImplementation : class, TService;AddSingleton扩展方法接收要注册的类和依赖项所需时提供的类。.NET Core DI 框架会维护注册的服务,在请求时提供实现,这种自动实例化称为构造函数注入(CI)。
2. IInventoryContext 接口
以管理书籍库存的InventoryContext类为例,将IInventoryContext拆分为IInventoryReadContext和IInventoryWriteContext