а использование window. не является анти-паттерном в ангуляре?
И все эти es6 импорты... это единственный вариант в es6 инициализировать приложение?
app.directive('fadebody', fadeInBody)
не совсем понял почему вы решили что user manager должен менятся.
manager - нужен для того чтоб определять бизнеса логику для user.
Правда я предпочитаю jdbc всяким orm фреймворкам.
получится domain object, в котором модель данных будет смешана с бизнесс логикой.
При наличии сложной бизнесс логики этот обьект рано или поздно постигнет участь god-class
как минимум проблемы с конкурентыми модификациями, постоянные мерджи.
Я буду утверждать что ваш подход хуже но мне кажется он имеет место быть только в случае использования ORM фреймвоков у которых нет явно выраженного data access layer или для маленьких проэктов которым плевать на перфоманс.
речь идет о enterprise приложении то классы должны попадать в одну из категорий: model, controller
Их роли такие же как и в паттерне MVC, модель хранит данные а контроллер управляет состоянием модели.
Поэтому класса User который хранит данные и имеет набор операций для манипуляции над ними - быть не должно (single responsibility)
в мире java такое уже давно не актуально... как в других языках обстояит дела я не в курсе
https://github.com/johnpapa/angular-styleguide/tre...
Используя геттер для модулей ангуляра.
все что работает с DOM напрямую изолируется внутрь директив. Причем так что бы "наружу" оно не лазило. Изолированный говнокод - это нормально. А вот когда он размазан повсюду тонкой дорожкой - как-то не очень.
я невнимательно глянул ваш код. Думал вы всюду Injector иньектите. А вы просто сделали нечитабельно.
Тут больше напишу. Для начала читаем про ngAnnotate что бы не нужно было руками проставлять аннотации для зависимостей. Ну или же наоборот, руками всегда проставляем зависимости - но не выносим это в некую переменную. Это сильно усложняет код и делает описание зависимостей слабо выраженным.
Во вторых - либо используйте компоненты либо общие контроллеры. Определитесь уже. Лучше от регистрации контроллеров отдельно вообще отказаться в угоду компонентам. Ну и еще лучше сделать компоненты как можно более тупыми, что бы они получали уже готовые данные через биндинги (пропихивать их через ресолв роутера например) и занимались только отрисовкой UI, в чем собственно задумка и состоит.
Так же не работайте с $rootScope никогда. Да даже $scope не надо пихать никуда. Только директивам с ним разрешается работать потому что подругому не выйдет (и то есть нюансы). Как минимум есть controllerAs да и компоненты. А вместо ватчеров лучше в контроллере сеттер сделать. Так и проще код выйдет и дебажить удобнее.
у контейнера в ангуляре есть два варианта - .value и .constant. Разберитесь зачем они нужны, в чем между ними разница, и будет прозрение.