我发现ORM lite是SQlite和Android的轻量级ORM框架。
我的问题是:
不包含ORM会使应用程序变重吗?
我在Java视角中思考,我知道使用框架会使应用程序更加繁重。
任何人都可以帮我解决疑问吗?
答案 0 :(得分:2)
包含ORM不会使应用程序变重吗?
这不能客观地回答。
首先,“轻”和“重”是什么意思?
让我们假设我们正在谈论应用程序的一些措施:
但这只是告诉我们什么更轻更重。 “轻”和“重”怎么样?对于我们可以说“轻”或“重”的任何这些措施,是否有客观价值?
不......没有。
但回到更轻/更重。我们可以说使用ORM会使应用程序更重吗?
在大多数措施中,是(可能),但在一个重要措施中,答案显然是否定的。也就是说,当我们使用ORM时,我们希望程序员编写的代码(各种形式的代码)少于使用JDBC,SQL和SQL实现相同功能的代码。一个RDBM。
您没有问的另一个问题是申请是否更轻或更重要。我想说,这实际上取决于应用程序,平台和开发项目的资源和时间表。
例如,如果我有一套具有挑战性的要求和一个紧迫的截止日期,那么我可能会使用ORM 无论 ORM是否使用更多内存,CPU,数据库带宽等...... 因为它在开发方面更轻,这意味着我的项目可以按时完成。
总结:
答案 1 :(得分:2)
@Stephen的答案太棒了,但我想我会添加自己的答案。完全披露:我是ORMLite的作者。
包含ORM不会使应用程序变重吗?
我认为答案在很大程度上取决于您的申请。它肯定会使应用程序更多变重。问题是成本/收益是否适合您的情况。如果应用程序与许多实体进行大量关系IO,那么收益将很高。如果应用程序很大,那么额外的字节/类可能不会显着增加。但是,如果大小增加太多或关系代码很小,那么好处可能太小而且不会超过大小代码。
此外,如果应用程序正在执行大量数据库IO,并且由于ORM库可能会增加GC带宽,则可能会遇到性能问题。然后你可能不得不忍受自己的SQL工作。