【问题标题】:Optional dependencies injections best practices可选依赖注入最佳实践
【发布时间】:2019-05-23 09:33:51
【问题描述】:

我制作了一个.net 类库,它的功能是创建一个身份用户,并在一行 @ 中添加所有必要的方法和依赖项(电子邮件验证、google 和 facebook 登录、角色...... 987654321@,并打包成nuget包

好的,但有时我不需要在我的项目中进行电子邮件验证,我在 options=>{...} 行中禁用了它,但是当我不需要时,如何防止在我的包中注入电子邮件服务依赖项需要它,

这可能吗?

【问题讨论】:

  • 注入依赖项的目的是让你拥有一个类运行所需的一切。也许您应该有一个空的实现来注入,但这表明您的类的设计可能会得到改进?

标签: c# asp.net .net asp.net-core nuget


【解决方案1】:

我建议不要使用options => … 机制,而是定义一个流畅的界面,您可以在其中执行以下操作:

services
    .AddMyCoreIdentity() // Only adds common services that are always used
    .AddEmail() // Only adds the Email service
    .AddXXX() // Whichever other service that is not always used

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 2010-12-13
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    相关资源
    最近更新 更多