169 похожих чатов

Ну вот есть например форма с сотней контролов, там много

зависимостей контролов друг от друга. В простом случае создается компонент, в нем одна форма и много valueChanges, но кода много и надо как то дробить. Что делаете дальше? Создаете сервис, туда сетаете форму, там начинаете следить за изменениями контролов или как?

22 ответов

14 просмотров

а в чем проблема? (производительность проседает / много запросов к беку)

делить на независимые части, компоненты, подформы, сервисы в том числе, все от логики зависит

Alexandr-Manyunin Автор вопроса
Юрий Безруков
а в чем проблема? (производительность проседает / ...

Проблема в сложности и организации кода. Когда все в одном компоненте, то легко отслеживать, один контекст, но много кода. Далее начинается дробление, растет сложность и комплексность. Поэтому спрашиваю кто как делает

Alexandr-Manyunin Автор вопроса
xxtux Shvets
делить на независимые части, компоненты, подформы,...

Я просто видел например что делают сервис для отдельного контрола, чтобы логику с ним изолировать, в этот сервис сетают форму, из нее достают например пять контролов, на них подписываются и меняют текущий контрол. Но по мне так это не очень практика, связность высокая.

Alexandr-Manyunin Автор вопроса
Oleg Safonov
Связность чего высокая?

сервисов друг с другом

Alexandr Manyunin
сервисов друг с другом

А сколько там сервисов? Я просто увидел про один сервис, откуда ещё?

Alexandr-Manyunin Автор вопроса
Oleg Safonov
А сколько там сервисов? Я просто увидел про один с...

Сервис делается для контрола, контролов несколько => несколько сервисов

Alexandr Manyunin
Сервис делается для контрола, контролов несколько ...

а, увидел. А как эти сервисы связаны то? каждый ж на контролы завязан

Alexandr-Manyunin Автор вопроса
Oleg Safonov
а, увидел. А как эти сервисы связаны то? каждый ж ...

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

Alexandr-Manyunin Автор вопроса
Oleg Safonov
а, увидел. А как эти сервисы связаны то? каждый ж ...

Просто по мне форма это и есть удачная абстракция и не стоит ее делить, или стоит? И как? поэтому и спрашиваю кто как делает

Alexandr Manyunin
Точнее не сервисы связаны ,а весь код. Получается ...

С одной стороны - да. С другой - если сервис управляет контролом, который зависит от других контролов - с этим ничего не поделаешь, если нужно для блокировки кнопки прочитать условно два контрола - то их в любом случае придётся читать. Или генерить кучу абстракций сверху. А у вас уже есть готовый код и столкнулись со сложной поддержкой или в процессе написания только?

Alexandr-Manyunin Автор вопроса
Oleg Safonov
С одной стороны - да. С другой - если сервис управ...

Если люди только читают другие контролы то это в целом норм, но если вдруг кто начнет ещё и менять другие, такое только на код ревью ловится. Просто кажется что с реактивными формами можно работать проще и хотелось бы узнать чужие решения. В статьях в инете обычно 2 - 3 контрола и все просто)

Alexandr Manyunin
Если люди только читают другие контролы то это в ц...

Ещё тестами нужно покрывать всё, тогда не только не ревью отловится) В целом согласен, трудно найти примеры более менее сложных приложений

Alexandr-Manyunin Автор вопроса
Oleg Safonov
Ещё тестами нужно покрывать всё, тогда не только н...

потому что сложные приложения так или иначе обрастают своими костылями :)

Alexandr Manyunin
Согласен, но не у всех пишутся(

Для какой цели контрол читают другие контролы? (есть примеры?)

Alexandr-Manyunin Автор вопроса
Юрий Безруков
Для какой цели контрол читают другие контролы? (ес...

Подписывается на их valueChanges и следит за их изменениями,чтобы поменяться самому

Юрий Безруков
Для какой цели контрол читают другие контролы? (ес...

например дизейбл контрола, в зависимости от значения radiobutton какого нибудь

Oleg Safonov
например дизейбл контрола, в зависимости от значен...

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

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта