【问题标题】:Dagger in business logic and presenters [closed]业务逻辑和演示者中的匕首[关闭]
【发布时间】:2018-02-01 12:49:54
【问题描述】:

我已经在使用 Dagger2 并且一切正常,但我对将其集成到业务逻辑中的正确方法存有疑问。 Robert Martin 在“清洁架构”中所说的是,DI 框架,因为它们是框架,是应该远离实体和用例的细节,更一般地是远离比框架更高级别的所有类.

什么 R.M.建议是只允许 Main-module 知道使用的 DI 框架并自行注入其他类,这样您就可以用另一个 DI 框架替换一个 DI 框架而无需更改 BL。

有没有办法以业务逻辑看不到的方式隔离Dagger?

【问题讨论】:

    标签: dependency-injection dagger clean-architecture


    【解决方案1】:

    严格来说,是的:DI 框架也不应该用在用例或实体圈中。 (包括属性和注释)

    问题是你想在你的项目中处理这个规则有多严格。每个规则和决定都有优点和缺点。正如您所说,将 DI 排除在内部圈子之外的好处是您以后可以轻松地更换它。你必须决定与缺点相比,好处有多大,例如:必须手动将依赖项传递给用例。

    我个人目前在我的项目中尝试非常严格地处理它。但是我的用例往往只有很少的依赖项......

    【讨论】:

      猜你喜欢
      • 2012-08-26
      • 1970-01-01
      • 2010-11-30
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      • 2016-06-23
      • 2018-07-30
      • 1970-01-01
      相关资源
      最近更新 更多