NHibernate-有用性
我在一个软件和硬件开发农场工作。今天,我的一位同事告诉我,NHibernate只对小项目有用,对于复杂或大型项目必须避免。而且,它使代码更难更改 这些说法正确吗?Ebay使用Hibernate(NHibernate移植的Java版本)。我不认为这是一个小项目。NHibernate-有用性,nhibernate,Nhibernate,我在一个软件和硬件开发农场工作。今天,我的一位同事告诉我,NHibernate只对小项目有用,对于复杂或大型项目必须避免。而且,它使代码更难更改 这些说法正确吗?Ebay使用Hibernate(NHibernate移植的Java版本)。我不认为这是一个小项目。 至于更改代码,请考虑如下:假设我们需要向对象添加新属性。 以下是手动滚动数据访问层的操作: 将该列添加到db表中 更改每个 处理该对象/表。 这通常是几个存储 以我的经验来看,程序 更改映射层中的代码 将属性添加到对象 以下是对NHi
至于更改代码,请考虑如下:假设我们需要向对象添加新属性。
以下是手动滚动数据访问层的操作:- 将该列添加到db表中
- 更改每个 处理该对象/表。 这通常是几个存储 以我的经验来看,程序
- 更改映射层中的代码
- 将属性添加到对象
- 将该列添加到db表中
- 将属性添加到HBM文件
- 将属性添加到对象
- 必须同意丹尼尔·奥古斯的第一点
关于第二个问题,“这会使代码更难更改吗?”,我将提供一个总体视图。任何时候,当你使用一些现成的东西时,你都会遇到一些限制,这些限制可能不容易克服。即使源代码可用,您也可能不希望对其进行修改,因为担心偏离到破坏性更改的程度
软件开发人员的一部分工作是确定第三方代码的优点是否大于缺点。看,我会告诉你的同事停止传播FUD。有趣的是,对我来说,NHibernate最适用于最有可能发生巨大变化的大型复杂项目。我同意dotjoe,NHibernate似乎更适用于大型项目,而更基本的ORM则适用于小型项目。事实上,对于大多数(<8个实体)项目来说,NHibernate被过度设计了。知道Ebay使用Hibernate很有意思,但是有没有使用NHibernate的大型网站?或者任何ORM(不包括使用linq to sql),我不知道有任何特定的高知名度网站使用NHibernate,但是NHibernate google组(groups.google.com/group/nhusers)中的许多人都在非常大的项目上运行它。就备受瞩目的网站go而言,Myspace使用iBatis。还请记住,使用RubyonRails或Django构建的任何东西在默认情况下都使用ORM。