angular - 避免循环依赖注入(inject)

标签 angular dependency-injection circular-dependency

在我的 Angular 应用程序中,我正在实现 2 项服务:

  • 身份验证服务
  • 空闲服务

这两项服务相互依赖:

  1. 当我注销时,我必须停止监视用户空闲状态(通过调用 IdleService 中的方法)
  2. 当用户超时时,我必须从 AuthenticationService 调用 logout 方法来注销用户。

这种方法会导致循环依赖问题。您知道如何避免它或如何通过更好的方法改变我的实际方法吗?

最佳答案

书中Dependency Injection in .NET 2nd edition (第 6.3 节),Mark Seemann 和我描述了依赖循环通常是由 Single Responsibility Principle 引起的。违规行为。我的印象是,在你的具体情况下也是如此。当一个类具有许多内聚性不是很强的方法时,通常会违反 SRP。

解决方案是将 AuthenticationServiceIdleService 这两个类之一(或者甚至两者)拆分为更小的类。

关于angular - 避免循环依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47798896/

相关文章:

angular - 在angular2中使用订阅调用成功,错误回调?

java - 理解java中的DI

c++ - C++中的库链接,三个库之间的依赖

c++ - 为什么共享指针不会在 main 结束时超出范围?

ios - Nativescript ios 中闪屏后显示白屏

javascript - 如何在 VS Code 的 Angular 工作流程中使用 Pusher-JS?

c# - 需要参数的对象的依赖注入(inject)

symfony - 将安全上下文注入(inject)(实体监听器)类时的循环引用

Python 模块依赖

angular - Angular 2 中未定义错误提供