/ / AngularJS - това е инжекция на зависимостта или множествено наследяване? - javascript, angularjs, oop, dependence-injection

AngularJS - това е инжектиране на зависимости или множествено наследяване? - javascript, angularjs, oop, dependence-injection

Повечето от документация Прочетох за това AngularJS говори за инжектиране на зависимост.

Когато дефинирате контролер, можете инжектирам други класове в него, които правят своите операции / свойства достъпни от повикващия клас.

И така, къде, казват, а contentTypeFactory и аз инжектирам това е в contentTypeController, По този начин получавам всички предимства на фабриката и мога да се обадя на свойства и методи в нея.

а именно: app.controller("contentTypeController", ["$scope", "$log", "contentTypeFactory", ...

От гледна точка на ОО, това изглежда много като многократно наследяване, а не инжектиране на зависимост.

Може ли някой да поясни това?

Отговори:

5 за отговор № 1

Мисля, че простият отговор е, че онова, което описвате, не е много наследство.

JavaScript поддържа прототипно наследяване, което не е много наследство.

Когато използвате инжектиране на зависимости, предпочитате композицията над наследството. Зависимостта е връзка "HAS A". Това не е връзка "IS A".

В конкретния си сценарий вашият контролер "HAS A" contentTypeFactory. Това не е ContentTypeFactory. Вашият администратор делегира работата си.

Надявам се това да отговори на вашите въпроси.