通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

Angularjs中的依赖注入和Spring中的有什么区别

Angularjs中的依赖注入和Spring中的区别是:spring是DI的鼻祖,依赖注入设计非常的灵活,使用起来简单方便。angular这些前端框架都在吸收后端的设计思想,像di、组件化、模块化跟后端都是殊途同归。

一、Angularjs中的依赖注入和Spring中的区别

spring是DI的鼻祖,依赖注入设计非常的灵活,使用起来简单方便。angular这些前端框架都在吸收后端的设计思想,像di、组件化、模块化跟后端都是殊途同归。

依赖注入就是不通过 new 这种方式来在类(NotificationComponent)的内部创建所依赖类(MessageService)的对象,而是在外部创建好需要依赖的类对象之后通过构造函数等方式注入进来就可以了。

而 Java 中的 Spring 框架就是这类帮助程序创建好依赖类的框架,或者也叫 IOC(Inversion of Control) 容器,Angular 也是为我们提供了这样一种容器,让我们轻松实现依赖注入。

Angular 文档中帮助我们对解析修饰符做了分类:

  • 如果 Angular 找不到想要的东西怎么办:@Optional()
  • 到哪里开始寻找,用@SkipSelf()
  • 到哪里停止寻找,用 @Host() 和 @Self()

基本的示例:

@Injectable(

  // 注释这段代码,这样在通知组件中就无法找到 MessageService

  // { providedIn: ‘root’ }

)

export class MessageService {

  constructor() {}

  send() {

    console.log(‘msg’);

  }

}

延伸阅读:

二、Spring IoC有什么好处

软件只有到达了一定的复杂度才会需要各种设计原则和模式,那么依赖倒置原则(Dependency Inversion Principle )就是为了解决软件模块之间的耦合性提出的一种思想,让大型软件变的可维护,高层模块不应该依赖低层模块,两者都应该依赖其抽象,抽象不应该依赖细节,细节应该依赖抽象。那么控制反转(Inversion of Control) 就是依赖倒置原则的一种代码设计思路,具体采用的方法就是所谓的依赖注入(Dependency Injection),通过依赖注入实现控制权的反转,除了依赖注入外,还有可以通过模板方法模式实现控制反转,那么所谓依赖注入,就是把底层类作为参数传入上层类,实现上层类对下层类的“控制”。

相关文章