Библиотека коллекций Scala содержит серверы пересылки IterableForwarder
, < a href="http://www.scala-lang.org/api/current/scala/collection/generic/TraversableForwarder.html" rel="nofollow">TraversableForwarder
, SeqForwarder
и прокси, такие как IterableProxy
, MapProxy
, SeqProxy
, SetProxy
, TraversableProxy
и т. д. методы действия для базового объекта коллекции. Основное различие между ними заключается в том, что серверы пересылки не пересылают вызовы, которые могли бы создать новые объекты коллекции того же типа.
В каких случаях я бы предпочел один из этих типов другому? Почему и когда форвардеры полезны? И если они полезны, почему нет MapForwarder
и SetForwarder
?
Я предполагаю, что прокси чаще всего используются, если кто-то хочет создать оболочку для коллекции с дополнительными методами или прокачать стандартные коллекции.