写点什么

高级开源集合库 Power Collections

  • 2007-09-13
  • 本文字数:1054 字

    阅读完需:约 3 分钟

近日,Wintellect’s 在 CodePlex 上发布了最新版本的 Power Collections 。虽然.NET Framework 似乎已经提供了很丰富的集合类型,但在开发中总会碰到定制集合类型的需要,其中原因在于集合类型的适用场景太过丰富:

  • 用于层间的数据传递;
  • 用于和数据层(无论是 DAL 还是 DSL 之类各种概念命名的逻辑数据和数据访问部分)的信息提取;
  • 用于算法中对象的聚合(或组合);
  • 用于 UI 部分的数据绑定;
  • 用于缓冲必要的参数信息、配置信息、应用上下文信息;
  • 用于集中调用的 DTO(Data Transfer Object)对象;
  • ……

由于集合类型的适用情景非常丰富,而且往往对性能和集合容量有很多不可预期的处理需求,因此 System.Collections 及其子命名空间提供的类型往往在开发中的一些关键技术环节显得捉襟见肘了,例如下列情形:

  • 需要存在冗余数据项的集合类型(Dirty Set);
  • 需要多键值依赖的字典类型;
  • 为了迭代和遍历方便,需要具有排序能力的集合类型(Ordered Set);
  • 访问上,需要只读特性的集合类型;
  • 为了迎合联合索引的特点,应用需要 3 键值、甚至更多数量键值的 KeyValuePair 来保存数据集;
  • 此外,开发中除了需要集合类型抛出必要的异常外,往往还希望可以抛出委托或者事件,用于运行时数据检查或内容校验;
  • 需要在内存中保存特别大数量的集合;
  • ……

Power Collections 对上述需要给了一个很精彩的答案,而且都是泛型的。它从“根”上实现了自己的集合类型,排序、只读属性、克隆、序列化、取并集(Union)、求交集(Intesection)等都是从自己实现的集合基类中完成的。相对 System.Colletions 而言,Power Collections 的类型基本上不仅仅是“一堆”数据,还包括了非常多的计算方法,而且很多计算支持对一组对象的批量的处理,因此从性能上也有了不小的提升。

随着各种可视化建模工具、开发工具的出现,很多时候,应用的开发人员生疏了对数据结构的使用,.NET Framework 虽然丰富但仅仅是个框架,各种流行的.NET 开源框架也几乎都是服务于功能性扩展部分的。但每个应用,尤其对企业而言的关键性大型应用而言,总要有那么几个技术的“坎”,算法处理上的集合类型也经常算一个。Power Collections 虽然解决的仅仅是一个“比较小”的问题,但较之其他框架而言,他更基础、更普适一些。即便它的功能覆盖也不可能满足所有应用的需要,不过它的“底子”好,起码定制更复杂集合类型的时候,Power Collections 不失为一个很好的范本。

不仅如此,对于.NET 开发人员而言,反射、多线程、进程间远程访问、Networking、异步调用、动态代码生成等开发技术领域其实也一直在期待“挺好用”的开源框架。

2007-09-13 03:362313
用户头像

发布了 61 篇内容, 共 14.4 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

淘宝商品评论API:获取商品使用场景与评价

技术冰糖葫芦

api 网关 API Explorer API 策略 pinduoduo API

Sentieon 应用教程 | 使用CNVscope进行CNV检测分析

INSVAST

基因数据分析 生信服务 应用教程

共促国产AI生态繁荣,天翼云重磅发布魔乐开发者社区

天翼云开发者社区

云计算 开发者社区 天翼云

通义灵码使用安装教程,3分钟快速上手体验

阿里巴巴云原生

阿里云 云原生 通义灵码

蚂蚁知识图谱管理系统研究成果获国际顶会认可,KGFabric 论文入选 VLDB 2024

可信AI进展

AI真“卷出天际”!我国发布全球首个月球专业大模型;0代码可做游戏,谷歌发布世界首个AI游戏引擎|AI日报

可信AI进展

【论文速读】| 基于大语言模型智能体对文本到图像模型进行越狱

云起无垠

俄罗斯即将启动跨境加密支付试行计划:规避制裁与加密货币的未来

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

Web3 游戏周报(8.25- 8.31)

Footprint Analytics

利用淘宝商品评论API返回值进行竞品深度分析

代码忍者

金九银十来了,你的简历写好了么?

不在线第一只蜗牛

程序员 前端

云原生主键模型:高效、弹性,省钱又省心

StarRocks

数据库 大数据 存算分离 存算分离架构 湖仓一体

HBlock应用实践与性能测试:解锁老旧服务器存储潜力,打造高效稳定的存储集群

Geek_2dc40b

HBlock 老旧服务器盘活

万界星空科技机械加工行业MES解决方案

万界星空科技

mes 万界星空科技 制造业工厂 机械加工 机械加工mes

OpenAI 投资, 1X 家务机器人 NEO 发布;微软副总裁:AI 需「学会求助」而非「制造幻觉」丨 RTE 开发者日报

声网

通义灵码使用安装教程,3分钟快速上手体验

阿里云云效

阿里云 云原生 通义灵码

8款国内外免费AI生成视频工具对比实测!我们真的可以做到“一人搞定一部影视作品“吗?

可信AI进展

AI测评

回顾 Oracle 在 MySQL 8.0 中的管理工作

爱可生开源社区

MySQL oracle MySQL 8.0

大模型应用开发实战

不在线第一只蜗牛

AI 大模型

openGauss- 行级访问控制

Gauss松鼠会

opengauss

零售商商品规划新纪元:全面策略融合与智能计划系统引领未来

第七在线

NFTScan | 08.26~09.02 NFT 市场热点汇总

NFT Research

NFT\ NFTScan

万界星空科技MES系统如何帮助企业降低成本

万界星空科技

工业互联网 制造业 生产管理系统 mes 智能制造业

软件测试学习笔记丨Linux与SQL实战

测试人

Linux 软件测试 自动化测试 测试开发

高级开源集合库Power Collections_.NET_王翔_InfoQ精选文章