【发布时间】:2014-02-11 16:00:27
【问题描述】:
我读过的关于AngularJS 的大部分documentation 都在谈论依赖注入。
在定义控制器时,您可以将其他类注入到其中,使其操作/属性可从调用类访问。
所以,我说在哪里定义了 contentTypeFactory,然后我将其注入到 contentTypeController 中,因此我获得了工厂的所有好处,并且可以在其中调用属性和方法.
即:app.controller('contentTypeController', ['$scope', '$log', 'contentTypeFactory', ...
从 OO 的角度来看,这看起来很像多重继承,而不是依赖注入。
有人可以澄清一下吗?
【问题讨论】:
-
多重继承对我来说意味着继承父类的接口和行为。我会考虑角度非常清晰的依赖注入,并且对象由服务等组成。
-
从面向对象的角度来看,这是组合而不是继承。
-
我不认为它是继承,因为如果其他地方的一些其他代码称为
contentTypeController.myMethod(),它不会在contentTypeFactory中寻找myMethod()。它只会查看contentTypeController。您可以在contentTypeController中创建一个名为contentTypeFactory.myMethod()的包装器方法,但正如 michael 所说,这将是组合,而不是继承。
标签: javascript angularjs oop dependency-injection