如何使用其他模型跟踪模型?

问题描述:

有时我的一个模型需要调用另一个模型。跟踪这个最好的方法是什么?如何使用其他模型跟踪模型?

我用在基类的每个模型的阵列,因此,如果模型A称为模型B多于一次,第二次和后续调用将返回现有实例,而不是装载一个新的。

虽然这种简单的情况下工作得很好,我可以看到它有它的局限性。例如,假设模型A加载模型B和模型C;那么模型C需要访问模型B(甚至A) - 它会再次加载类!

我怀疑我需要一个协调对象,外部的模型类,其作为一个库。我应该看什么模式?

顺便说一句,我正在使用PHP。

编辑:另一个考虑是,我的观点可能调用模型方法直接了。在这种情况下,它将使感就可以提供一个已经实例化的模型,而不是一个新的...

谢谢!

看看在这种情况下使用的observer pattern多数民众赞成。

它很容易。每个型号有听众,当有事情发生,它说给所有听众哎什么happend

列表