.net 开发人员必须关心将来更改ORM的可能性吗?
让我们想象一下,我开始开发一个项目。所以,我必须认真考虑将来改变ORM的可能性吗 或者更准确地说:.net 开发人员必须关心将来更改ORM的可能性吗?,.net,orm,.net,Orm,让我们想象一下,我开始开发一个项目。所以,我必须认真考虑将来改变ORM的可能性吗 或者更准确地说: 是否要将当前项目中使用的ORM更改为其他ORM。如果是,原因是什么 你真的这样做过吗?如果是,原因是什么 实际上,我在想,投入大量精力开发ORM不可知解决方案是否有价值。在项目过程中更改ORM的几率非常低。有一个非常好的机会,你所做的任何努力,以确保你可以切换你的ORM将最终白费。你必须权衡一下改变ORM的微小可能性和改变ORM的额外努力 回答您的问题: 没有 通常,如果您使用的工具无法满足某些实
实际上,我在想,投入大量精力开发ORM不可知解决方案是否有价值。在项目过程中更改ORM的几率非常低。有一个非常好的机会,你所做的任何努力,以确保你可以切换你的ORM将最终白费。你必须权衡一下改变ORM的微小可能性和改变ORM的额外努力 回答您的问题:
在一天结束时,我会简单地确保我选择了一个适合我的ORM(像NHibernate这样的东西不会真的出问题),并确保您的代码是松散耦合的,这将确保您的数据访问代码是隔离的。这不仅从可维护性的角度来看是好的,而且从可测试性的角度来看也是好的。是的,我认为您应该关心它,在多大程度上是完全主观的问题。应该考虑应用程序的所有层,尤其是如果您认为您的代码将在很长的时间内就位,或者如果您认为您的应用程序将有显著的增长 关于您的具体问题:
对我来说“有价值”=如果迁移到另一个ORM的概率为10%,从头开始迁移的成本(即如果项目开发时根本不考虑迁移的可能性)为C,那么将高达C*10%的精力用于透明迁移支持是合理的。ORM代表什么?即实体框架、LINQ到SQL,NHibernate等。关于2-那么迁移到另一个ORM不是您描述的重构的主要原因是真的吗,也就是说,有更重要的问题最终导致决定如此显著地重构项目(更改所有组件通常~=几乎完全重写它)?事实上,DAL是一个项目进行重构的重要原因。有问题的客户试图将其应用程序扩展到一个比以前更大的业务中(即,公司而非SMB),客户的要求是制定某些数据库相关政策,DAL无法很好地处理这些政策。特别是允许SP运行而不是直接查询等。这些是(当时)他们选择的ORM的主要限制。谢谢-同意,DAL是非常重要的部分。这取决于你如何定义“项目”以及你的项目进行了多长时间。我认为对于一些项目(那种永远持续下去的项目),这是非常可能的。