加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

依赖注入 – 依赖注入 – 谁拥有接口?

发布时间:2020-12-14 05:01:17 所属栏目:百科 来源:网络整理
导读:假设我想在AOP方法中使用依赖注入框架,目标是生成代码模块.共享接口所有权的最佳实践是什么?所有权我指的是为了使用接口而需要引用的代码体. 我的第一个猜测是,在AOP中,您将定义一个接口的类库,按方面命名.例如:company.aspect.logging.ILogger.然后,每个
假设我想在AOP方法中使用依赖注入框架,目标是生成代码模块.共享接口所有权的最佳实践是什么?所有权我指的是为了使用接口而需要引用的代码体.

我的第一个猜测是,在AOP中,您将定义一个接口的类库,按方面命名.例如:company.aspect.logging.ILogger.然后,每个模块将引用此库,并避免在ILogger的实现中涉及任何代码也定义ILogger.

最佳做法?

解决方法

定义接口类库是一个好的开始.这为您提供了最大的灵活性,因为您可以完全独立地改变所有消费者和所有实施者.

这种方法的缺点是,如果您的接口本身导出其他类似的接口:

public interface IMyInterface
{
    IMyOtherInterface DoStuff();
}

您可能需要编写大量可以从接口填充具体类的映射代码(或者您可以使用AutoMapper).

如果你只有一个消费者但只有几个使用者,你可以通过与消费者一起定义接口(从不与实施者一起)来节省一些这种映射,但是你会失去一些灵活性.但是,您仍然可以独立于消费者而改变实施者,而不是相反.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读