【发布时间】:2016-07-28 22:39:29
【问题描述】:
我是 AngularJS 的新手。据我了解,依赖注入的全部意义在于,以后可以轻松地将依赖项与“类似”依赖项交换,并且代码仍然可以正常工作。 “相似”通常意味着依赖项实现了某种接口。
如果我正在编写一个控制器,而我的同事正在编写一个我将在我的控制器中使用的服务,我如何才能确保他为我创建的服务能够满足我的所有需求?在传统的 OO 语言中,他的服务将是一个实现接口的类,这将迫使他实现某些方法。但是如何在 angularJS 中做到这一点?我是否必须检查服务是否具有我想要的所有方法的属性以及所有这些属性的__proto__ 是否为Function.prototype?为了检查这些方法返回的内容,我是否使用模拟对象调用它们然后检查返回的对象?
或者有更好的推荐方法吗?
【问题讨论】:
标签: javascript angularjs dependency-injection interface duck-typing