加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala集合转发器和代理的使用案例

发布时间:2020-12-16 18:50:09 所属栏目:安全 来源:网络整理
导读:Scala的集合库包含转发器 IterableForwarder , TraversableForwarder , SeqForwarder 以及代理,如 IterableProxy , MapProxy , SeqProxy , SetProxy , TraversableProxy 等.转发器和代理都将集合方法委托给底层集合对象.这两者之间的主要区别在于转发器不会
Scala的集合库包含转发器 IterableForwarder,TraversableForwarder,SeqForwarder以及代理,如 IterableProxy,MapProxy,SeqProxy,SetProxy,TraversableProxy等.转发器和代理都将集合方法委托给底层集合对象.这两者之间的主要区别在于转发器不会转发会创建相同类型的新集合对象的调用.

在哪种情况下,我更喜欢这些类型中的一种?货运代理为何以及何时有用?如果它们有用,为什么没有MapForwarder和SetForwarder?

我假设如果想要使用其他方法为集合构建包装器或者对标准集合进行操作,则最常使用代理.

解决方法

我认为 this answer提供了一般关于代理的一些上下文(你对包装和拉皮条的假设是正确的).

据我所知,Proxy的子类型更适合最终用户.使用Proxy时,代理对象和self对象在所有意图和目的上都是相同的.我认为这实际上是主要的区别.如果该假设不成立,请不要使用代理.

Forwarder特征似乎只用于支持ListBuffer,如果需要在CanBuildFrom基础结构之上构建自己的集合类,可能更合适.所以我想说它更适合图书馆作家,其中图书馆基于2.8集合设计.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读