Арсений Жижелев @primetalk
Scala архитектор
Information
- Rating
- Does not participate
- Location
- Воронеж, Воронежская обл., Россия
- Registered
- Activity
Specialization
Backend Developer, Software Architect
Lead
From 700,000 ₽
Git
Linux
Docker
PostgreSQL
Golang
Scala
(Здесь мы используем оператор
with
, который соответствует конъюнкции. Для проверки принадлежности мы инвертируем условие с помощью оператора <:<2. Экономия классов не входит в цели фреймворка. Суть заключается в разрезании целого класса на отдельные компоненты и возможность оперировать данными, используя эти компоненты (слоты) в качестве ключа.
3. Пример с delta. Пусть класс Person содержит 100 полей. И пусть среди этих полей есть свойство типа T: Numeric (например, Int, Double и т.п.). Тогда мы можем объявить специальный класс PropertyDelta, который несёт изменение этого свойства
Это может быть экономнее, чем копировать оставшиеся 99 полей (при сохранении в БД, при передаче по сети и т.п.). Кроме того, здесь мы явно видим, что именно изменилось, можем проверить допустимость изменения этого свойства согласно каким-либо правилам.
Теперь мы можем этот объект использовать для того, чтобы увеличить значение свойства на указанную величину:
Или немного поинтереснее:
vs.