使用Active Record模式会导致显着的内存膨胀吗?

时间:2013-03-04 02:27:38

标签: database design-patterns activerecord memory-management language-agnostic

我正在研究活动记录和数据映射器设计模式之间的区别。想到一个简单的问题是,在每个活动记录实例中重复使用持久性方法,是否会导致大量不必要的内存使用?或者它可以忽略不计?

1 个答案:

答案 0 :(得分:1)

面向对象的编程语言方法通常存在于类级别,而不是对象级别。意味着一个对象是一个类的实例,并且在调用(或发送,取决于语言)object.foo时,它实际上引用该类并在该对象的上下文中调用该方法。 (这可以通过许多不同的方式来完成,我没有资格深入探讨。)

想象一下,如果ToString或其继承者的每个实例都拥有该方法的副本,那么流行语言中toString / to_s / Object的开销就会增加!

因此,为了回答您的问题,对于构成您的Active Record类的上存在的方法,没有不必要的内存使用。