Любая хорошая мультиметодная реализация для Java? - PullRequest
1 голос
/ 21 февраля 2011

Мне интересно, есть ли достаточно хорошая мультиметодная реализация / библиотека для Java, такая как в Lisp.

Я нашел только что замерзший: JMMF

Ответы [ 3 ]

3 голосов
/ 21 февраля 2011

Вы можете использовать Clojure, который работает на JVM и имеет встроенную поддержку мультиметодов.

2 голосов
/ 26 сентября 2014

Я создал эту библиотеку , которая позволяет реализовать интерфейс Java с использованием мультиметодов, создав прокси-сервер, который удовлетворяет интерфейсу. Я использую его в нескольких проектах, и это достаточно предсказуемо, но прочитайте документацию: мультиметоды в Java могут вести себя странно.

1 голос
/ 23 мая 2012

Существует несколько действительных альтернатив для решения проблемы множественной отправки , и, возможно, эти альтернативы в значительной степени оправдывают то, почему она не была реализована в языке.Таким образом, вы можете использовать классический шаблон посетителя или использовать определенное количество отражений.

Существует устаревший MultiJava Project , в котором реализована поддержка множественной диспетчеризации в Java иЕсть несколько других проектов, использующих отражение для поддержки мультиметодов в Java: Java Мультиметоды , Java Multimethods Framework .Возможно, их даже больше.

Можно также рассмотреть альтернативный язык на основе Java, который поддерживает мультиметоды, например Clojure или Groovy (эти ссылки указывают на примеры).

...