NHibernate和Spring.NET的结合在企业级应用程序中非常有用!

NHibernate和Spring.NET的结合在企业级应用程序中非常有用!,nhibernate,spring.net,Nhibernate,Spring.net,在项目中使用Spring.NET和NHibernate的软件开发人员有什么看法?在我工作的公司的两个项目中,我们非常广泛地使用了这些第三方工具,并获得了巨大的生产力。有一点需要注意的是,对于初级.Net开发人员来说,掌握这一概念有点困难。NHibernate(或类似的ORM)对于“绿地”开发非常有帮助,可以正确设计域对象模型,然后生成与模型匹配的数据库模式和NHibernate映射代码。另一方面,NHibernate可能很难应用于遗留数据库或规范化较差的数据库。尽管它支持处理一些不寻常的数据结构

在项目中使用Spring.NET和NHibernate的软件开发人员有什么看法?在我工作的公司的两个项目中,我们非常广泛地使用了这些第三方工具,并获得了巨大的生产力。有一点需要注意的是,对于初级.Net开发人员来说,掌握这一概念有点困难。

NHibernate(或类似的ORM)对于“绿地”开发非常有帮助,可以正确设计域对象模型,然后生成与模型匹配的数据库模式和NHibernate映射代码。另一方面,NHibernate可能很难应用于遗留数据库或规范化较差的数据库。尽管它支持处理一些不寻常的数据结构,但这些技术的学习曲线要高得多


关于Spring.Net,我没什么可说的,只是在2007年,我们的团队试图将它实现到一个现有的、复杂的解决方案中,以处理数据库事务和实体验证,但经过一周的工作,我们放弃了这个想法。我们常驻的Spring/Java专家得出结论,Spring.Net是Spring之后的两个版本,还不够成熟,无法处理我们项目中的用例。免责声明:不确定Spring.Net的版本是什么,所以最近情况可能有所改善。

Imo、Spring.Net和NHibernate携手共进:如果你掌握了学习曲线,当Spring用于NHibernate(几乎透明)时,你会非常高兴,依赖注入以及Db:Provider处理。

使用spring.net/nHibernate有很多好处

对于数据访问,您可以充分利用nHibernate ORM的延迟加载、独立于数据库的编程、轻松保存、加载、更新和删除实体。无需编写任何查询即可完成此操作。这就是为什么在设计数据库和开发之后,如果在任何开发状态下需要进行任何更改,那么很容易进行更改

依赖注入(DI)有助于分离UI和业务逻辑。这就是为什么您可以随时更改图形用户界面而不破坏任何业务逻辑的原因。同样,若您需要对业务逻辑进行任何更改,那个么只需要构建业务层。而且它也是可配置的

面向方面编程(AOP)是Spring.Net的另一个特性。它有助于记录应用程序,动态方法拦截允许对方法调用进行更多控制。它使授权应用程序变得容易。声明性事务管理是管理事务的一个很好的特性。您不需要为启动-停止数据库连接编写代码。只需在配置文件中写入您希望维护事务的方法。因此,在大型项目中,它将节省大量时间,并使您在事务管理方面具有更大的灵活性

SpringWebService非常容易从客户端编写和使用。不需要添加任何自定义属性,不需要WSDL。您可以拦截每个方法调用,您可以添加日志记录建议、身份验证/授权建议等建议

总的来说,它节省了大约33%的开发时间,使应用程序更易于维护,高度可配置