适用于Android的ORM lite

时间:2014-02-27 13:39:20

标签: java android sqlite orm ormlite

我发现ORM lite是SQlite和Android的轻量级ORM框架。

我的问题是:

不包含ORM会使应用程序变重吗?

我在Java视角中思考,我知道使用框架会使应用程序更加繁重。

任何人都可以帮我解决疑问吗?

2 个答案:

答案 0 :(得分:2)

  

包含ORM不会使应用程序变重吗?

这不能客观地回答。

首先,“轻”和“重”是什么意思?

让我们假设我们正在谈论应用程序的一些措施:

  • 我们可以谈论应用程序源代码的大小;即程序员写的东西
  • 我们可以谈论应用程序二进制文件的大小......包括应用程序使用的库
  • 我们可以讨论应用程序使用的内存量,或CPU时间,或者它生成的数据库流量或光盘流量的度量。

但这只是告诉我们什么更轻更重。 “轻”和“重”怎么样?对于我们可以说“轻”或“重”的任何这些措施,是否有客观价值?

不......没有。


但回到更轻/更重。我们可以说使用ORM会使应用程序更重吗?

在大多数措施中,是(可能),但在一个重要措施中,答案显然是否定的。也就是说,当我们使用ORM时,我们希望程序员编写的代码(各种形式的代码)少于使用JDBC,SQL和SQL实现相同功能的代码。一个RDBM。


您没有问的另一个问题是申请是否更轻或更重要。我想说,这实际上取决于应用程序,平台和开发项目的资源和时间表。

例如,如果我有一套具有挑战性的要求和一个紧迫的截止日期,那么我可能会使用ORM 无论 ORM是否使用更多内存,CPU,数据库带宽等...... 因为它在开发方面更轻,这意味着我的项目可以按时完成。


总结:

  • ORM会使应用程序变重吗?这不是一个有意义的问题。
  • ORM会让它变重吗?这取决于你测量的是什么。
  • 有关系吗?如果ORM沉重是按时和预算不足的权衡,那就不是了。
  • ORMLite真的很轻吗?再次不客观地回答,可能不相关......除非你在严格的平台约束下工作。

答案 1 :(得分:2)

@Stephen的答案太棒了,但我想我会添加自己的答案。完全披露:我是ORMLite的作者。

  

包含ORM不会使应用程序变重吗?

我认为答案在很大程度上取决于您的申请。它肯定会使应用程序更多变重。问题是成本/收益是否适合您的情况。如果应用程序与许多实体进行大量关系IO,那么收益将很高。如果应用程序很大,那么额外的字节/类可能不会显着增加。但是,如果大小增加太多或关系代码很小,那么好处可能太小而且不会超过大小代码。

此外,如果应用程序正在执行大量数据库IO,并且由于ORM库可能会增加GC带宽,则可能会遇到性能问题。然后你可能不得不忍受自己的SQL工作。