写点什么

高级开源集合库 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:362144
用户头像

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

关注

评论

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

mcgs笔记 用户 登录登出查看用户信息

万里无云万里天

自动化 HMI mcgs

语音识别与语音控制

芯动大师

语音控制

虚拟币交易平台开发指南:打造安全高效的虚拟货币交易系统

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 代币开发

自控经验 工厂在地理上的分区

万里无云万里天

自动化 工厂运维

如何免费调用GPT API进行自然语言处理

幂简集成

API ChatGPT

mcgs笔记 报警 报警统一配置

万里无云万里天

自动化 HMI mcgs

mcgs笔记 报警 报警统一配置的导出与导入

万里无云万里天

自动化 HMI mcgs

区块链DApp开发:选择正确公链的重要性

区块链软件开发推广运营

交易所开发 dapp开发 NFT开发 公链开发 代币开发

Go 必知必会:Interface灵活而强大的类型系统

王中阳Go

接口 interface 数据类型 GO语言编程

基于京东API返回值的商家商品管理策略优化

代码忍者

API 接口 API 测试 pinduoduo API

故障测试入门指南

FunTester

mcgs笔记 安全属性 使能控制与安全控制

万里无云万里天

自动化 HMI mcgs

mcgs笔记 报警 报警滚动条

万里无云万里天

自动化 HMI mcgs

mcgs笔记 查看 辅助提示

万里无云万里天

自动化 HMI mcgs

mcgs笔记 动画按钮 根据值分段显示内容

万里无云万里天

自动化 HMI mcgs

mcgs笔记 权限 按钮的操作权限设置

万里无云万里天

自动化 HMI mcgs

金融安全架构设计中的反思

I

安全架构 金融服务安全 安全架构设计

自控经验 自控的分层 工厂车间设备级控制

万里无云万里天

自动化 工厂运维

科技创新推动教育普惠,华为云WeLink助力"青椒计划"举办种子教师研学活动

轶天下事

mcgs笔记 用户 查看用户与用户组

万里无云万里天

自动化 HMI mcgs

开放原子开源生态大会OpenHarmony生态主题演讲报名开启

OpenHarmony开发者

OpenHarmony

mac苹果电脑系统优化工具:CleanMyMac X for mac 中文激活版

你的猪会飞吗

mac破解软件下载 CleanMyMac X破解版 CleanMyMac X中文

mcgs笔记 报警 报警浏览构件

万里无云万里天

自动化 HMI mcgs

mcgs笔记 报警 各变量的报警属性功能

万里无云万里天

自动化 HMI mcgs

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