抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

ADO.NET 实体框架引起争议

2008 年 7 月 18 日

由社区发起的一份请愿书表达了对关注微软即将发布的

ADO.NET 实体框架的关注,请愿书标题为“对 ADO.NET 实体框架投不信任票”,旨在提高人们对业内专家已经预见到的一些设计和实现问题的认识。

不信任

该信的意图非常明确:

这封信一致签字通过,表示对微软客户社区承担的社会福利软件项目的关切,该项目将会使用微软即将发布的 ADO.NET 实体框架。

过去的一年里,微软和实体框架团队从致力于.NET 平台上的实体应用开发和软件构架设计的专家那里收到了大量的反馈。当微软打算为实体构架提供框架支持的公告得到热情的拥护时,证明了实体框架本身始终能引起极大的关注。

可以看出,这封信是经过深思熟虑的,目的不是阻止开发者使用 ADO.NET 实体框架,而是要让他们了解当前实现中可能存在的缺陷:

我们希望的实体框架是一个一流的高质量产品和超出期望值的工具,允许客户和开发者创建可持续、可维护的软件架构,它可以承受任何大规模、复杂或周期紧张的软件开发项目的压力。

该小组认为,虽然微软在框架开发中采纳了他们的意见,但反馈本身并没有被真正考虑到 v1.0 版本的产品中。他们的目的是提高社区对微软合作的关注程度,以帮助指导开发:

我们集体敦促微软客户要认真考虑被微软称作“技术社区精英”的专家组的所关注的东西,他们为社区做了极大的贡献以及自发的帮助他人。在.NET 最初发布之时,我们就使用微软或非微软的工具构建了基于实体的应用程序,并且积累了大量基于普通实体应用程序和基于.NET 实体应用程序的最佳经验。

由于实体框架当前设计和实现的技术隐患,以及由它们构成的微软客户项目未来的潜在风险,我们郑重地对 ADO.NET 实体框架目前的状态以及对专家社区反馈过程的持续问题投不信任的一票。

信中对细节关注采取的立场及说明:

  • 过度关注数据方面的实体导致实体架构薄弱
  • 需要额外代码来处理延迟加载的不足
  • 共享、规范模型有悖于软件最佳实践
  • 持久化忽略机制的不足,造成业务逻辑难以读写和修改,开发和维护成本过度加大
  • 在团队环境里对源代码控制过多的冲突合并

更多感兴趣的信息你可以访问“对ADO.NET 实体框架投不信任票 ”主页,并且可以对信件签字,也可以查看已经签字的清单,截止发表本文时共有270 人签字。

业界反应

对这个意见采取的立场不乏批评和回应。用你喜爱的搜索引擎查找这份请愿书可得出两种结论,有很多支持和反对微软的声音。

ADO.NET 实体框架团队迅速对这封信做出反应,来自于该小组的

Tim Mallalieu 辩驳并阐述了实体框架 V1.0 版的目标及未来:

令人遗憾的是,这是现实的情况,我们深切关注这些意见但在 V1.0 版中不完全支持。在这里我可以深入探讨一些细节。需要注意的一点是对这些功能的选择需要慎重考虑,但我们不得不在尝试增加新功能与尝试保留正确的原始目标之间应对这种压力,以此为建立一个更广阔的数据平台奠定一个多发布(multiple-release)策略的核心基础。巧合的是,今天,也是我们开始下一个版本产品的工作起点,而我们决定认真讨论这个特别的开发者社区,同时继续投资整体数据平台。

与任何 1.0 版本的产品一样,为了使之发布,团队并不能实现所有的功能,而需要把其他功能推迟至以后发布。这些功能和反馈结果决定了 2.0 版本的功能。

ADO.NET 团队正采取办法,开放他们正在进行的设计过程和目标,使其尽可能透明。

在过去的 9 个月里你也许看到了 Astoria 团队博客 (ADO.NET 数据服务),我们将采取类似的过程,在新实体框架设计博客中定期发布我们的设计说明,在我们讨论一个既定方面以及作出最后决策之前,将给您提供反馈意见的机会。关于如何进行这一过程的更多信息,请关注我们的第一篇博客 ,并希望大家及时提供更多的意见!

结论

写这封信的团体的立场是非常清楚的。但是它开放给谁才是正确的呢?在设计上,微软花了很长的时间谨慎做出关于这个框架开发的决策。正如任何争论都不止一个方面,这封信清晰的概括了一些微软 1.0 版本产品的关注点。

开发者使用的任何产品都有遗留下来的风险。由于在使用这个产品之前,业内专家团队必须花时间提高对潜在问题的认识,因而这种情况似乎是独一无二的。如果所有产品都带有一个特别详细的警告标签,那么它会非常好。

也许部分或所有这些关注点将以自己的方式成为未来发布的 ADO.NET 实体框架中的功能。推出 1.0 版本产品不能满足开发者的需求已成为微软的一个历史,但他们会采纳大量的反馈后,为开发者提供更好的 2.0 或 3.0 版本的产品。这可能是微软自身历史的重演以及请愿书引导的方向。

查看英文原文: ADO.NET Entity Framework Taking Some Heat


译者简介:李会军(网名 TerryLee), 南开大学软件工程硕士,微软最有价值专家(MVP),多家 IT 杂志和 IT 网络媒体特约撰稿人,擅长基于.NET 平台的 Web 开发,业余爱好写作,在各类技术杂志和个人技术博客上撰写了大量的技术文章。他的个人网站为: http://www.dotneteye.cn

2008 年 7 月 18 日 01:021158

评论

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

HarmonyOS学习路之开发基础知识——应用配置文件

爱吃土豆丝的打工人

HarmonyOS 鸿蒙开发 鸿蒙系统 鸿蒙配置文件 deviceConfig

HarmonyOS学习路之开发基础——快速入门(创建另一个页面)

爱吃土豆丝的打工人

HarmonyOS 鸿蒙开发 DevEco Studio 创建新页面 创建另一个页面

英特尔推出全新的基础设施处理器(IPU)

新闻科技资讯

100个自媒体运营工具推荐

资源君

运营 工具软件 自媒体 资源分享 工具分享

HarmonyOS学习路之开发基础——快速入门(实现页面跳转)

爱吃土豆丝的打工人

DevEco 页面跳转 鸿蒙页面跳转 HarmonyOS页面跳转

微服务的简介和技术栈

xcbeyond

微服务架构 发展史 6月日更

JAVA笔记(二)--Java初始

加百利

Java 后端 6 月日更

HarmonyOS学习路之开发基础——快速入门(编写第一个页面)

爱吃土豆丝的打工人

鸿蒙应用开发 HarmonyOS创建文件 DevEco Studio 创建页面 鸿蒙开发第一个页面

有人融资超6亿,有人营收20亿…这届90后创业者有点猛! | 创业邦2021年30位30岁以下创业新贵重磅发布

创业邦

啃完这7套Java面试题,面试阿里P7稳了

Crud的程序员

Java spring 程序员 架构

源码解析:一文读懂 Kubelet

张晓辉

Kubernetes 源码分析 kubelet

企业云迁移暗藏风险,1人如何扛起性能测试大旗?

数列科技

高可用 电商 全链路压测 性能压测 云迁移

一群不想鸡娃的直男程序员,决定对一支笔下手了

脑极体

你真的了解 equals 方法吗?

若尘

java编程 equals 六月日更

阿里巴巴新产“Java架构核心宝典”,全是流行技术,限时开放

云流

Java 程序员 架构 面试

谁是项目的负责人?

escray

极客时间 学习笔记 朱赟的技术管理课 六月日更

网络攻防学习笔记 Day45

穿过生命散发芬芳

网络攻防 6月日更

Seata 新特性,APM 支持 SkyWalking

阿里巴巴云原生

运维 云原生

HarmonyOS学习路之开发基础知识——资源文件

爱吃土豆丝的打工人

鸿蒙 DevEco资源文件 创建资源文件 HarmonyOS资源文件

HarmonyOS学习路之开发篇——Ability

爱吃土豆丝的打工人

Ability Ability概述 HarmonyOS Ability 鸿蒙 Ability

HarmonyOS学习路之开发篇——Page Ability

爱吃土豆丝的打工人

HarmonyOS Page Ability AbilitySlice路由 AbilitySlice生命周期 AbilitySlice间导航 跨设备迁移

30家企业单笔融资1亿以上,如何让投资人倒追你的项目

创业邦

技术+商业,能否让网易智企一鸣惊人?

ToB行业头条

网易 tob

HarmonyOS 分布式多端应用一站式开发平台(DevEco Studio 安装)

爱吃土豆丝的打工人

操作系统 HarmonyOS 环境变量 DevEco Studio 鸿蒙开发

HarmonyOS学习路之开发基础知识——应用基础知识

爱吃土豆丝的打工人

鸿蒙 HarmonyOS 鸿蒙开发 鸿蒙系统

解决权限管控难题,保障数据安全——CloudQuery在证券行业的实践

CloudQuery社区

数据库 高可用 脱敏 数据库管理 权限管理

git版本升级

阿呆

三顾茅庐,七面阿里,25k*16offer,还原我的大厂面经

云流

Java 程序员 架构 面试

如何针对美工与设计师的Maya工具进行版本控制

龙智—DevOps解决方案

以互联网行业为背景下的数据分析通识(上)

小飞象@木木自由

数据分析 数据分析体系 数据思维

HarmonyOS学习路之HarmonyOS 概述

爱吃土豆丝的打工人

操作系统 HarmonyOS 鸿蒙系统

Study Go: From Zero to Hero

Study Go: From Zero to Hero

ADO.NET实体框架引起争议-InfoQ