Я новичок в AngularJS. Из того, что я понимаю, весь смысл инъекции зависимостей заключается в том, что зависимость может быть легко заменена «подобной» зависимостью позже, и код все равно работает одинаково. С «подобным» обычно подразумевается, что зависимость реализует какой-то интерфейс.Интерфейсы для инъекционных услуг в AngularJS
Если я пишу контроллер, и мой сотрудник пишет услугу, которую я собираюсь использовать в своем контроллере, как я могу убедиться, что служба, которую он создает для меня, имеет все, что мне нужно ? На традиционном языке OO его услугой будет класс, реализующий интерфейс, который заставит его реализовать определенные методы. Но как это можно сделать в angularJS? Должен ли я проверить, есть ли у службы свойства для всех методов, которые я хочу, и что __proto__
для всех этих свойств - Function.prototype
? И чтобы проверить, что возвращают эти методы, я вызываю их с макетными объектами, а затем проверяю возвращаемый объект? Или есть лучший рекомендуемый способ сделать это?