Библиотека коллекций Scala содержит пересылки IterableForwarder
, TraversableForwarder
, SeqForwarder
и прокси, такие как IterableProxy
, MapProxy
, SeqProxy
, SetProxy
, TraversableProxy
и т. Д. И перенаправители, и прокси-серверы делегируют методы сбора базовому объекту коллекции. Основное различие между ними состоит в том, что серверы пересылки не переадресовывают вызовы, которые могут создать новые объекты коллекции того же типа.
В каких случаях я бы предпочел один из этих типов другому? Почему и когда полезны экспедиторы? И если они полезны, почему нет MapForwarder
и SetForwarder
?
Я предполагаю, что прокси-серверы чаще всего используются, если кто-то хочет создать оболочку для коллекции с дополнительными методами или для Прокачивайте стандартные коллекции.