Expression Problem и Объектные алгебры
Expression Problem (EP) - это классическая задача в программировании на совмещение несовместимого.
Автор задачи (Philip Wadler) формулирует следующие цели: создать такую абстракцию, что позволяла бы расширять иерархию в двух направлениях: добавлять новые классы и добавлять новые методы для обработки иерархии, сохраняя при этом строгую статическую типизацию и не требуя изменений существующего кода.
В динамически типизируемых языках мы бы могли добавить или переопределить метод на лету с помощью трюка, ставшего известным под неказистым названием monkey patching (хоть первоначально речь шла совсем не про обезьян, а про партизан - guerrilla).
А вот какие трюки применяют в статически типизированных языках рассмотрим под катом.
Читать: https://habr.com/ru/articles/828922/?utm_campaign=828922
@a_cup_of_java | Другие наши каналы
Post #6244
1.66K