【发布时间】:2013-07-21 08:51:48
【问题描述】:
所以在 OOP 中,对象向其他对象发送消息。这是一个非常简单的概念,只要所有对象都存在于内存中,就很容易实现,例如通过调用方法。
但在现实生活中,我们将对象保存到数据库或其他地方,因为没有足够的 RAM 来保存所有对象。如何在当前持久化的对象上调用方法?
好的,所以也许可以将未持久化的 one 对象封装到其工厂中。但是如果我想向很多对象发送消息怎么办,例如在一个循环中?一个一个地取消它们是一个经典的 N+1 问题。
好的,我可以有一个存储库,它可以一次性取消所有必要的对象。但是要求存储库获取我的对象不会破坏封装吗?
像观察者这样的模式呢?是否有可能让一个对象订阅任何东西,知道它会被持久化?
是否有任何语言的透明实现?
【问题讨论】:
-
我认为您无法与持久化的对象进行通信。
-
简答:检查 GemStone/S。详情:stackoverflow.com/questions/15500984/…
标签: oop language-agnostic persistence