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

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

Checkbox, Multiselect, куча их.

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

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

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

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

18 ответов

6 просмотров

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

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

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- Автор вопроса
Tishka17
Почему смущает?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
53
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
16
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
буквально один оставшийся вопрос при выполнении строчки mov eax, 5 операнд "5" будет присутствовать где-либо в памяти (любой), кроме как в памяти блока .code? подвопрос: как...
12
Всем ку. Подскажите, если задекларировал массив так: int arr[10] = {1, 2, 3, 4}, то в arr[4] будет мусор или нуль?
Sasha K
14
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
я не понимаю mov [r11+8],rcx и прочие. мы записываем значение из rcx, куда?
Bor
15
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
6
А какие расширения активно используются в промышленности? Именно идейные, по типу гадт, а не всякие оверлоадедстрингс
Степан
11
Карта сайта