Autofac中多个类继承同一个接口,如何注入?与抽象工厂模式相结合

多个类继承同一个接口,如何注入?与抽象工厂模式相结合

需求:
原来是抽象工厂模式,多个类继承同一个接口。
现在需要使用Autofac进行选择性注入。

Autofac默认常识:
Autofac中多个类继承同一个接口,默认是最后一个接口注入的类。

解决方案:(约定大于配置)
:①工厂名默认4位字符 ② 命名Service的时候以工厂名开头
③Autofac注入的时候先注册匹配非工厂名开头的Service,后注册匹配工厂名开头的Service

与抽象工厂模式比,Autofac注入优势:
抽象工厂模式中如下图中的代码无需编写。
Autofac中多个类继承同一个接口,如何注入?与抽象工厂模式相结合_第1张图片

你可能感兴趣的:(抽象工厂模式)