Expression Problem (EP) – это классическая задача в программировании на совмещение несовместимого.
Автор задачи (Philip Wadler) формулирует следующие цели: создать такую абстракцию, что позволяла бы расширять иерархию в двух направлениях: добавлять новые классы и добавлять новые методы для обработки иерархии, сохраняя при этом строгую статическую типизацию и не требуя изменений существующего кода.
В динамически типизируемых языках мы бы могли добавить или переопределить метод на лету с помощью трюка, ставшего известным под неказистым названием monkey patching (хоть первоначально речь шла совсем не про обезьян, а про партизан – guerrilla).
А вот какие трюки применяют в статически типизированных языках рассмотрим под катом.
Хабр, привет! Я снова пришёл к вам со статьёй, где показываю мои любимые техники вёрстки.…
Привет, друзья! В этой серии статей мы разбираем структуры данных и алгоритмы, представленные в этом…
Для некоторых задач, связанных с обновлением данных в реальном времени — например, новостные ленты, уведомления…
Со времён появления контекстной рекламы маркетологов не перестаёт мучить вопрос:"А есть ли смысл вести контекст по…
Накануне в прямом эфире прошла большая презентация новой техники от компании Apple. Команда Тима Кука…
10 новых российских сервисов для нарезки шортсов при помощи ИИ, публикации в цифровых СМИ, авто-ответов…