您的代码库有多少百分比由数据访问代码表示?

时间:2009-02-18 06:38:28

标签: database persistence

今晚在Twitter上提出了一个有趣的问题,我想我会把它发布在这里。

基本上,我想知道您使用什么来将数据保存到数据库中以及估算代码库中数据访问代码的百分比。

- 编辑 -
其他有趣的指标(如评论中所述)包括业务类的数量和代码库的总体大小。

我刚看了一个项目,我在发现NHibernate之前做了很长时间。快速查看一些数据访问代码,为类中的每个可持久属性显示了大约10行代码,用于持久性/水合作用。

2 个答案:

答案 0 :(得分:1)

在我们做过的一个项目中,我们使用LLBLGenPro作为我们的OR / M.但由于我们不想将我们的应用程序与LLBL实体混淆,我们在它们到达客户端之前将它们映射到我们的BO。这意味着在再次访问DB之前将它们映射回LLBL实体。 DAL代码最终成为我们应用程序的重要组成部分。不是50%,但相当大。

在我正在进行的项目中,我开始使用db40,希望尽量减少DAL占用空间。它非常小,但我遇到了db40的问题而不得不放弃它。我转而使用ADO.NET几天只是为了得到一些有用的东西,我惊讶于为​​了让一个简单的存储库正常工作,我不得不写多少'ADO'。这很令人头痛,所以我最终选择了NHibernate。

我的NHALnate(2.0)的DAL代码可能是我的代码库的5%或更少。这包括XML映射文件。我的意思是,DAL足迹非常小,很高兴能够使用。我过去在分布式环境中遇到了NHibernate 1.2的问题,我需要使用分离的对象,但NHibernate 2.0似乎已经解决了这个问题。我知道这是我从现在开始做DAL的方式,直到有更好的方式出现。

有趣的是,几个月前,我和我的同事进行了类似的对话。但是我们的重点不在于我们的DAL占了多少代码,而是我们的应用程序中有多少只是数据查询/操作。我们估计可能有90%的应用只是获取正确的数据子集并允许用户编辑它。

答案 1 :(得分:0)

我们大多数时候都使用nHibernate,它是由一个工具生成的,如果重要的话,dunno,我们最终还是为每个实体添加了大量代码到nHibernate层,是的;它继续成为代码的很大一部分。

此外,随着您在应用中添加更多功能和更多实体,DAL代码也会增加。 所以我或多或少地猜测我们的代码库大约有20%-30%是由DAL组成的。