【问题标题】:ORM lite for Android适用于 Android 的 ORM 精简版
【发布时间】:2014-03-30 23:40:05
【问题描述】:

我发现 ORM lite 是一个适用于 SQlite 和 Android 的轻量级 ORM 框架。

我的问题是:

加入 ORM 不会让应用程序变得沉重吗?

我正在从 Java 的角度思考,我知道使用框架会使应用程序更加繁重。

谁能帮我解决我的疑惑?

【问题讨论】:

    标签: java android sqlite orm ormlite


    【解决方案1】:

    @Stephen 的回答很棒,但我想我会添加自己的。全面披露:我是 ORMLite 的作者。

    加入 ORM 不会让应用程序变得繁重吗?

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

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

    【讨论】:

    • 非常感谢 Gray 提供的宝贵信息。
    【解决方案2】:

    加入 ORM 不会让应用程序变得繁重吗?

    这个不能客观回答。

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

    假设我们正在讨论应用程序的某种度量:

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

    但这只是告诉我们更轻和更重的含义。 “轻”和“重”呢?这些措施是否有客观价值,我们可以说“轻”或“重”?

    不……没有。


    但要回到更轻/更重的状态。我们可以说使用 ORM 会使应用程序变得更重吗?

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


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

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


    总结:

    • ORM 是否会使应用程序变得繁重?这不是一个有意义的问题。
    • ORM 会使其更重吗?这取决于您要测量的内容。
    • 重要吗?如果 ORM 繁重是按时和预算不足的权衡,则不会。
    • ORMLite 真的很轻吗?同样不能客观回答,并且可能不相关......除非您在严格的平台限制下工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      • 2011-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多