зависимостей контролов друг от друга. В простом случае создается компонент, в нем одна форма и много valueChanges, но кода много и надо как то дробить. Что делаете дальше? Создаете сервис, туда сетаете форму, там начинаете следить за изменениями контролов или как?
а в чем проблема? (производительность проседает / много запросов к беку)
делить на независимые части, компоненты, подформы, сервисы в том числе, все от логики зависит
Проблема в сложности и организации кода. Когда все в одном компоненте, то легко отслеживать, один контекст, но много кода. Далее начинается дробление, растет сложность и комплексность. Поэтому спрашиваю кто как делает
Я просто видел например что делают сервис для отдельного контрола, чтобы логику с ним изолировать, в этот сервис сетают форму, из нее достают например пять контролов, на них подписываются и меняют текущий контрол. Но по мне так это не очень практика, связность высокая.
Связность чего высокая?
сервисов друг с другом
А сколько там сервисов? Я просто увидел про один сервис, откуда ещё?
Сервис делается для контрола, контролов несколько => несколько сервисов
а, увидел. А как эти сервисы связаны то? каждый ж на контролы завязан
Точнее не сервисы связаны ,а весь код. Получается один сервис контрола в себе знает про другие контролы, другой сервис про другие контролы. Все знают про другу друга и меняют друг друга и это сложно понимать и менять.
Просто по мне форма это и есть удачная абстракция и не стоит ее делить, или стоит? И как? поэтому и спрашиваю кто как делает
С одной стороны - да. С другой - если сервис управляет контролом, который зависит от других контролов - с этим ничего не поделаешь, если нужно для блокировки кнопки прочитать условно два контрола - то их в любом случае придётся читать. Или генерить кучу абстракций сверху. А у вас уже есть готовый код и столкнулись со сложной поддержкой или в процессе написания только?
Если люди только читают другие контролы то это в целом норм, но если вдруг кто начнет ещё и менять другие, такое только на код ревью ловится. Просто кажется что с реактивными формами можно работать проще и хотелось бы узнать чужие решения. В статьях в инете обычно 2 - 3 контрола и все просто)
Нужен конкретный пример формы
Ещё тестами нужно покрывать всё, тогда не только не ревью отловится) В целом согласен, трудно найти примеры более менее сложных приложений
Согласен, но не у всех пишутся(
потому что сложные приложения так или иначе обрастают своими костылями :)
Для какой цели контрол читают другие контролы? (есть примеры?)
Подписывается на их valueChanges и следит за их изменениями,чтобы поменяться самому
например дизейбл контрола, в зависимости от значения radiobutton какого нибудь
Подписываемся на нужный контрол (от которого зависит наш статус) и в зависимости от него дизейблимся Вроде это можно оставить в компоненте, не переносят в сервис А если такого очень много, то на помощь приходят тесты Иначе никак...
Ну так об этом и речь, что много и хочется
Обсуждают сегодня