Anonymous
Ну, да
Tishka17
и не равна A[int]
Tishka17
все нормально
Tishka17
Я не понтмаю, почему роутинг и реализацию обработчиков ты хочешь смешивать в одной иерархии
Bogdan (SirEdvin)
@Tishka17 вот так например можно сделать: https://pastebin.com/zRvpT3Lt
Tishka17
ух, переменные класса
Tishka17
@Tishka17 вот так например можно сделать: https://pastebin.com/zRvpT3Lt
сделай теперь из этого две таблицы роутинга с одними обработчиками
Anonymous
Потому что в связи со спецификой задачи у меня есть гарантия, что мне никогда не потребуется две иерархии обработчиков
Tishka17
иерархия - это одно, а роутинг - другое
Bogdan (SirEdvin)
сделай теперь из этого две таблицы роутинга с одними обработчиками
Имеется ввиду роутинг по двум параметрам или что?
Anonymous
@Tishka17 вот так например можно сделать: https://pastebin.com/zRvpT3Lt
Не, так и я могу А теперь проставь здесь статическую типизацию
Tishka17
Имеется ввиду роутинг по двум параметрам или что?
нет, для двух источников событий регистрировать два разных набора обработчиков
Anonymous
Тут даже ABC не нужен, проблема в том, что __init_subclass__ не работает с генериками
Tishka17
частично одних и тех де
Tishka17
вы нарушеает Single Respoinsibility этим кодом
Tishka17
и делаете невозможным переиспользование кода обработчиков
Bogdan (SirEdvin)
Вообще-то нет
Anonymous
Если мне потребуется переиспользовать код обработчика, я вынесу реализацию в Mixin и отнаследую от него два раза
Tishka17
у вас синглтон со всеми последствиями
Bogdan (SirEdvin)
Можно же сделать так, что бы в target можно было передавать массив
Bogdan (SirEdvin)
И можно было несколько раз использовать один и тот же таргет
Bogdan (SirEdvin)
Как бы
Bogdan (SirEdvin)
Ну и да, я специально сделал это синглтонами
Anonymous
Но в моём конкретном приложении задачи с гарантией нет необходимости строить две иерархии обработчиков
Tishka17
Выносишь обработчик в отдельный класс. А потом регистрируешь в роутере
Tishka17
никогда нет гарантии
Bogdan (SirEdvin)
Tishka17
и снова - иерархия != роутинг
Anonymous
Выносишь обработчик в отдельный класс. А потом регистрируешь в роутере
Нарушает DRY, при добавлении нового обработчика будет нужно прописывать его в нескольких местах приложения
Bogdan (SirEdvin)
Ну, у меня есть гарантия, что мне не нужно будет переиспользовать конечные стратегии, потому что они всегда листы
Tishka17
Нарушает DRY, при добавлении нового обработчика будет нужно прописывать его в нескольких местах приложения
в одном - там где он должен применяться. Хочешь - в тестах его тестишь в отрыве от других
Tishka17
И вообще непонятно, почему обработчик - класс, а не инстанс класса
Bogdan (SirEdvin)
А зачем инстанс класа?
Bogdan (SirEdvin)
Если у обработчика нет состояния
Aleh
Откуда pip берёт информацию какую версию питона поддерживает библиотека?
LadyWind
Куда делись мои сообщения??
Tishka17
Почему у тебя class B(Router):... А не class B:... router.add(B())
LadyWind
Про то, у кого можно спросить про причину бана в питон бегиннерс? Хотя я там ничего не писала еще, только читала??
Anonymous
Почему у тебя class B(Router):... А не class B:... router.add(B())
Чтобы не прописывать B в двух местах, очевидно же. Создал класс и забыл. И ещё чтобы не городить отдельный класс роутера с логикой добавления обработчиокв. В моей реализации весь «роутер» — это один метод на три строчки и один dict.
Anonymous
Ладно, эта дискуссия ушла сильно не в ту сторону
Anonymous
Исходно я кагбэ спрашивал про workaround над генериками, которые не работают с __init_subclass__
Slam!
Пользовательские типы данных если в двух словах
Покажи, если есть возможность, пример генерика, пожалуйста
Tishka17
да я ж говорю, ты выдумал себе проблему
LadyWind
сейчас разбаню. Была флуд атака в это время
Ок пасиб. Скиньте плиз ссылку на чат, а то я ж на память не помню
LadyWind
Tishka17
Покажи, если есть возможность, пример генерика, пожалуйста
https://github.com/Tishka17/dataclass_factory/blob/master/tests/test_generic.py
Sortafreel
Вы што до 4 утра это обсуждали 🐔
не мы, а я) ночью работать холодно, уютно, а днём люди, жарко, бе.
Sortafreel
кондиционер
кондиционер не помогает от солнца и людей)
Sortafreel
а сидеть за шторами закрытыми неинтересно :)
Vladimir
Sortafreel
А как без солнца и людей?)))
я встаю в 2-4 дня летом, чтобы поменьше солнца застать, очень оно мне не нравится)
Vladimir
кондер + наушники
Sortafreel
а из людей мне дома жены хватает, снаружи не очень нужны :)
Vladimir
😂😂😂😂😂
Sortafreel
кондер + наушники
я и ночью в наушниках) вопрос таки в солнце. есть что-то именно вот, когда темнооо, окно открыто, никого нет, что-нибудь такое мелодичное играет, и кодишь. или можно какое-нибудь жесткое техно включить и по клаве громко стучать, как хакИр.
Sortafreel
в общем, ночью хорошо, а солнце переоценено и мне не нравится :)
Sortafreel
шторы?
"а сидеть за шторами закрытыми неинтересно :)"
Andrey
ночью тихо.
Sortafreel
там же поезда иногда проезжают, фонарь там, машина раз в час какая-нибудь, кто-нибудь ночью на поезд идёт пару раз в неделю, птишки всякие ближе к рассвету просыпаются. ляпота же.
Vladimir
Или, как у меня, соседи сверху делают всех окружающих слушателями своей ночной жизни.
Sortafreel
Не сиди в темноте. Угробишь зрение быстрее.
так я со светом. снаружи темно :)
misanthrop
Не сиди в темноте. Угробишь зрение быстрее.
Да нагрузки на глаза но про "угробить зрение " миф
misanthrop
Нельзя угробить зрение это генетика + возраст
misanthrop
Нет
misanthrop
Кто тебе миф о мифе рассказал?
Курс офтальмологии в вузе
Maxim
Нет
Сомнительное утверждение.
Vladimir
Курс офтальмологии в вузе
Вот почему к офтальмологам опасно ходить
misanthrop
И читать лёжа и в транспорте тоже не вредно