我有一个连接到数据库的类Foo
和一个方法bar
,该方法接受一个带有两种可能的规范和实现的参数:
class Foo
def bar(object_id)
object = Object.find(object_id)
object.do_something
end
end
和
class Foo
def bar(object)
object.do_something
end
end
我应该传递object.id
并从数据库中加载对象,还是传递刚刚加载的整个object
?哪种方法更好?对性能有影响吗?
答案 0 :(得分:2)
如果您不是通过sidekiq或其他形式的序列化来执行此操作,则只需传递一个对象-无论如何它将最终存储在内存中,因此避免了不必要的数据库查询,并使您的类对{{1 }}实现。