![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Что вы думаете о ковариантности и контравариантности?
Они от лукаваго, нужны только теоретикам, не существуют в реальной жизни, не нужны в продакшене, муть какая-то, вроде симфоний, балета и абстрактного искусства, или чо?
Они от лукаваго, нужны только теоретикам, не существуют в реальной жизни, не нужны в продакшене, муть какая-то, вроде симфоний, балета и абстрактного искусства, или чо?
no subject
Date: 2013-09-06 07:03 am (UTC)В жизни - от задачи зависит. Если сталкиваешься вообще с этим, то уже точно это некий универсальный код. Скажем, вот недавно нужно было расширить и сделать более удобным использование GWT DataGrid (ну то есть обычная табличка данных с перелистыванием по страницам в вебе написанная на Джаве). Задача абстрактная, дженерики везде, а дальше там уже недалеко и до extends Entity> которая как бы подразумевает ковариантность в море инвариантности... Ну и че - код универсальный, значит сдавать каждой группе, которой придется пользоваться, сразу с заточенным на них примером ("А вот так можно описать базовый и вот это надо доимплементировать для каждого из ваших специфических гридов")
Так я к чему. На примере грида - я не придумал красивого решения (это не значит, то его нет, конечно). Сделал инвариантным. Одни удобнее контраварианто делать, другим - коварианто. Зависит сильно от модели данных и решаемой задачи.