Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在研究活动记录和数据映射器设计模式之间的区别。想到的一个简单问题是,随着每个活动记录实例中持久性方法的重复,这不会导致大量不必要的内存使用吗?还是可以忽略不计?
面向对象的编程语言方法通常存在于类级别,而不是对象级别。这意味着一个对象是一个类的实例,并且在调用(或发送,取决于语言)时,object.foo它实际上是指回类并在对象的上下文中调用该类的方法。(这可以通过多种不同的方式来完成,我没有资格深入写。)
object.foo
想象一下,如果每个实例或其继承者都有该方法的副本,那么流行语言中的ToString//开销!toStringto_sObject
ToString
toString
to_s
Object
因此,要回答您的问题,对于包含 Active Record 类的类上存在的方法,没有不必要的内存使用。