Size: a a a

Kotlin Community

2020 July 16

АЕ

Алексей Ершов... in Kotlin Community
да, но не хочется его) Логически-то всё верно звучит.
источник

АЕ

Алексей Ершов... in Kotlin Community
Может быть в целом неудачная декомпозиция и можно лучше сделать.
источник

QH

Quantum Harmonizer in Kotlin Community
Igor
Похоже что нужен unchecked cast, компилятор не видит связи между when и типами
См. выше, бомба замедленного действия
источник

I

Igor in Kotlin Community
Кстати имхо ошибка что sealed классы рассматривают как иерархию классов, а не как конструкторы union-типа (эмуляцией чего они являются).
Вот если подставить в пример enum, то он вообще потеряет смысл.
источник

QH

Quantum Harmonizer in Kotlin Community
Igor
Кстати имхо ошибка что sealed классы рассматривают как иерархию классов, а не как конструкторы union-типа (эмуляцией чего они являются).
Вот если подставить в пример enum, то он вообще потеряет смысл.
Так, а почему иерархия классов не иерархия классов?
источник

I

Igor in Kotlin Community
Нет, я про (как любят говорить в гугле) mental model 😏
источник

АЕ

Алексей Ершов... in Kotlin Community
Igor
Кстати имхо ошибка что sealed классы рассматривают как иерархию классов, а не как конструкторы union-типа (эмуляцией чего они являются).
Вот если подставить в пример enum, то он вообще потеряет смысл.
я не силён в функциональной терминологии, можно попроще пояснить, почему конечное множество сообщений некоторого протокола общения не стоит моделировать sealed классом?
источник

I

Igor in Kotlin Community
Я этого не говорил. Это отличная задача для sealed классов.
Я больше про T : Message когда вы с подтипами пытаетесь работать как с отдельными классами.
источник

АЕ

Алексей Ершов... in Kotlin Community
Igor
Я этого не говорил. Это отличная задача для sealed классов.
Я больше про T : Message когда вы с подтипами пытаетесь работать как с отдельными классами.
Можете порекомендовать тогда, как эту задачу решить грамотнее?
источник

QH

Quantum Harmonizer in Kotlin Community
источник

I

Igor in Kotlin Community
Алексей Ершов
Можете порекомендовать тогда, как эту задачу решить грамотнее?
Отказаться от фабрики и перенести вызов нужных serialize() внутрь веток when 🤔
источник

АЕ

Алексей Ершов... in Kotlin Community
да, это уже предложили, хорошая тема. А теперь главный вопрос: почему это лучше чем то?)
источник

QH

Quantum Harmonizer in Kotlin Community
Алексей Ершов
да, это уже предложили, хорошая тема. А теперь главный вопрос: почему это лучше чем то?)
потому что это корректно и типобезопасно
источник

BP

Bogdan Panchenko in Kotlin Community
Алексей Ершов
да, это уже предложили, хорошая тема. А теперь главный вопрос: почему это лучше чем то?)
Нет лишних абстракций
источник

АЕ

Алексей Ершов... in Kotlin Community
Слишком общее утверждение)
источник

I

Igor in Kotlin Community
Bogdan Panchenko
Нет лишних абстракций
Ну кстати гуд поинт; мапинг же - чистые функции.
(обмажутся своим фабричными-фабриками, а потом ходи им лещей раздавай(c) 😅)
источник

АЕ

Алексей Ершов... in Kotlin Community
вот про чистые функции уже более конкретно)
источник

SZ

Sergey Zolotov in Kotlin Community
источник

AL

Anton Lakotka in Kotlin Community
больше новость для kotlin-jvm 🙂
источник

I

Igor in Kotlin Community
ну тогда и kotlin-mobile, там как раз научились дешугарить java8 default методы
источник