Каковы преимущества инъекции зависимости AngularJS?

Я работаю с angular уже несколько раз, и я не вижу, как это улучшение по сравнению с моим предыдущим способом кодирования.

Во-первых, я не вижу, что плохого в том, чтобы иметь центральный объект для хранения вашего проекта, в конце концов, инжектор - это одиночный объект, который просматривает ваши зависимости в центральном месте, поэтому у angular есть центральный объект, он просто скрыт. Namspacing не обязательно означает соединение, если все сделано правильно. Даже если это сделано, вам не нужно, чтобы каждый объект вашего кода был свободно связан с другими. Кроме того, каждый раз, когда вы создаете автономный JS-скрипт, вы должны обернуть его в угловой, чтобы они хорошо играли вместе.

Во-вторых, это очень многословно объявлять все ваши зависимости каждый раз (особенно с минимизацией), поэтому нет никакой выгоды с точки зрения читабельности по сравнению с правильным пространством имен.

В-третьих, прирост производительности минимален. Это вынуждает меня везде использовать синглтоны, но я могу делать это самостоятельно, если мне это нужно, и большую часть времени я этого не делаю (манипуляции с сетью и DOM - моя бутылочная горловина, а не объекты JS).

В конце концов, мне нравится «улучшенный» HTML и автоматические двусторонние привязки, но я не вижу, как внедрение делает его лучше, чем то, как другие фреймворки справляются с зависимостями, учитывая, что он даже не обеспечивает динамическую загрузку как require.js. Я не видел ни одного варианта использования, где бы я говорил себе «о, это гораздо лучше, чем раньше, я вижу» во время кодирования.

Не могли бы вы объяснить мне, какие преимущества этот технический выбор приносит проекту?

Пока я вижу только одно: соблюдение правил и практики. Это большая задача для создания свободной экосистемы, но пока я не вижу ее плодов в сообществе англичан.

Ответы на вопрос(1)

Ваш ответ на вопрос