juan_gandhi: (VP)
[personal profile] juan_gandhi
Что вы думаете о ковариантности и контравариантности?

Они от лукаваго, нужны только теоретикам, не существуют в реальной жизни, не нужны в продакшене, муть какая-то, вроде симфоний, балета и абстрактного искусства, или чо?

Date: 2013-09-06 07:03 am (UTC)
From: [identity profile] exceeder.livejournal.com
Концепция простая. Чтобы поменьше ошибок в коде было, понять полезно. Осваивание основ происходит методом проб и ошибок чуть ли не сразу при виде каких-нибудь дженериков (ака обобщенных типов) и попытка написать свое. Чаще всего без последствий для мозга и "лишь бы уже этот код сдать без видимых багов"

В жизни - от задачи зависит. Если сталкиваешься вообще с этим, то уже точно это некий универсальный код. Скажем, вот недавно нужно было расширить и сделать более удобным использование GWT DataGrid (ну то есть обычная табличка данных с перелистыванием по страницам в вебе написанная на Джаве). Задача абстрактная, дженерики везде, а дальше там уже недалеко и до которая как бы подразумевает ковариантность в море инвариантности... Ну и че - код универсальный, значит сдавать каждой группе, которой придется пользоваться, сразу с заточенным на них примером ("А вот так можно описать базовый и вот это надо доимплементировать для каждого из ваших специфических гридов")

Так я к чему. На примере грида - я не придумал красивого решения (это не значит, то его нет, конечно). Сделал инвариантным. Одни удобнее контраварианто делать, другим - коварианто. Зависит сильно от модели данных и решаемой задачи.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

June 2025

S M T W T F S
1 2345 6 7
8 9 10 11 121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 18th, 2025 05:53 pm
Powered by Dreamwidth Studios