Skip to content

#7: Types in Object-Oriented Programs

Photo of Yegor Bugayenko
Hosted By
Yegor B.
#7: Types in Object-Oriented Programs

Details

По любым вопросам пишите в нашу группу в Телеграм: https://t.me/objectthinking

18:30 Регистрация
19:00 Короткое приветствие
19:05 Николай Кудасов: "Алгебраические типы: что это и как они делают программы лучше?"
19:35 Егор Бугаенко: "Как generics помогли построить immutable коллекцию стратегий"
20:05 Ужин и общение (35 минут)
20:40 Go home!

Николай: "Общаясь с программистами на функциональных языках, часто можно услышать, что алгебраические типы данных — это то, что позволяет им писать корректные программы, причём достаточно удобным образом. Что же такого особенного в этих типах, какие преимущества они дают по сравнению с другими типами, и можно ли их использовать в классических объектно-ориентированных языках, таких как Java? В этом докладе мы разберём один классический пример алгебраических типов и обсудим достоинства и недостатки их использования на практике."

Егор: "Мне нужно было сделать коллекцию из стратегий, функциональных объектов обрабатывающих данные. Каждый объект должна была быть возможность декорировать. В коллекцию должно быть легко добавлять новые стратегии и тоже декорировать их при добавлении. При этом все стратегии, декораторы и сама коллекция, конечно же, должны быть immutable. Более того, полиморфизм должен быть возможен на всех уровнях: и коллекция и стратегии могут быть разных типов. У меня получилось реализовать это при активной поддержке generics в Java."

Митап проводится при поддержке компании Huawei.

Также спасибо Телеграм группе https://t.me/jvmchat за поддержку! Также спасибо подкасту Разбор Полетов за помощь в рекламе: https://razborpoletov.com/, а также каналу https://itmeeting.ru/ (подписывайтесь).

COVID-19 safety measures

Event will be indoors
The event host is instituting the above safety measures for this event. Meetup is not responsible for ensuring, and will not independently verify, that these precautions are followed.
Photo of Object Thinking group
Object Thinking
See more events