Ну проект с плагинами не на питоне, там на интерфейсах всё работает.
Спасибо, я раньше с утиной типизацией на практике не сталкивался. Думалось, что проверка наличия метода - это что-то сродни рефлексии и лучше так не делать. Получается, что в случае с питоном это норма.
@Tiendil в том-то и дело, что меня интересует меньшинство случаев )
Пример из жизни, который послужил поводом для размышлений: есть система плагинов. Все плагины хранятся в одном реестре. При возникновении какого-то события, обработчик проходит по списку плагинов и смотрит, у кого есть интерфейс on. Если класс плагина реализует такой интерфейс, значит вызываем соответствующие методы у этого класса
Можно, конечно, проверять наличие методов вместо интерфейса, но проверка интерфейса лаконичнее.
ABS я видел. Меня больше не техническая сторона, а идеологическая интересует. Пытаюсь понять, как в питоне правильно подобные вещи делать. Ниже vvpoloskin пишет про множественное наследование - вполне вариант.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Спасибо, я раньше с утиной типизацией на практике не сталкивался. Думалось, что проверка наличия метода - это что-то сродни рефлексии и лучше так не делать. Получается, что в случае с питоном это норма.