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

Повторю пожалуй вчерашний вопрос У меня есть разные классы виджетов типа

Checkbox, Multiselect, куча их.

Для каждого класса есть адаптер, по факту partial над кучей его методов. ManagedCheckboxAdapter, ManagedMultiselectAdapter. Короче, для каждого свой.

По факту юзер всегда импортирует первый класс, а где-то ему прилетает второй.

Я хочу оставить их как есть, но запихнуть дополнительно ссылку в основной класс. Типа
Checkbox.Managed
Multiselect.Managed

Стоит так делать или нет?

18 ответов

29 просмотров

Надо полагать, управляются и вообще живут они совместно?

Самый главный вопрос. Зачем?

Tishka17- Автор вопроса
evle
Надо полагать, управляются и вообще живут они совм...

Да, изменение сигнтары метода виджета требует такого же изменения в алаптере

Tishka17- Автор вопроса
Patrick [in search of work]
Самый главный вопрос. Зачем?

Упростить использование. Сейчас стремные имена и лишний иипорт

Tishka17
Да, изменение сигнтары метода виджета требует тако...

А в чём вообще смысл существования этих Managed?

Tishka17- Автор вопроса
evle
А в чём вообще смысл существования этих Managed?

Там у каждого метода два лишних параметра, чтобы контекст прокинуть. Но при работе внутри контекста, я могу его заранее прокинуть и методы будет вызывать проще

Tishka17
Упростить использование. Сейчас стремные имена и л...

Имена должны быть понятные. Только из за импорта добавлять атрибут ?

Tishka17- Автор вопроса
Patrick [in search of work]
Имена должны быть понятные. Только из за импорта д...

Ну смотри, даже если упростим имена: Checkbox.Managed ManagedCheckbox Что понятнее? Вроде пофиг, но появляется риск что имена вторые разойдутся Дополнительно, лишний импорт. Они скорее всего будут вместе идти по логике. Дополнительно можно задуматься о тайпинге, где-то сразу выводить этот тип попробовать, но пока хз

Tishka17
Там у каждого метода два лишних параметра, чтобы к...

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

Tishka17
Почему смущает?

Потому что это выглядит как внешняя функциональность по отношению к самим виджетам. Но с другой стороны комбинации типа джанговских Form/ModelForm и соответствующих виджетов сделаны так же, поэтому выглядит читаемо. Но чуйке не нравится.

Patrick [in search of work]
Так тайпхинт же. Всм не понять

Что тайпхинт? Тайпхинт не объясняет смысл и не заменяет документацию.

Tishka17- Автор вопроса
evle
Потому что это выглядит как внешняя функциональнос...

Ну условно у виджет появляется две версии: * контексто независимая, которая используется при декларации ui * контекстная в процессе обработки событий

Tishka17
Ну условно у виджет появляется две версии: * конте...

Ну вот что об этом думает SRP тот же? Виджет с одной стороны занят своей работой, с другой — знает что-то о контексте (либо не знает).

Tishka17- Автор вопроса
evle
Ну вот что об этом думает SRP тот же? Виджет с одн...

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

Tishka17
Так нет, он делает одну работу. Обрабатывает событ...

В общем я не могу внятно сформулировать, что именно меня смущают и как бы я сделал иначе, но смущает именно сама идея двух наборов классов. Ссылка сама по себе не смущает.

Tishka17- Автор вопроса
evle
В общем я не могу внятно сформулировать, что именн...

Ну концептуально иначе пришлось бы делать создание виджетов сразу под контекст. Это усложняет апи

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта