MVC - 商业模式是否可以相互了解?

时间:2010-01-05 21:44:27

标签: php model-view-controller

简单的问题:在MVC中,一个模型可以与另一个模型进行交互吗?例如,使用Auth模型......它可以与用户模型进行交互 - 还是有更好的方法来实现它?

中间人应该是控制者吗?

3 个答案:

答案 0 :(得分:3)

不同的模型类交互很好。大多数复杂的对象并非完全独立。与任何好的OO代码一样,这些类应该使用公共方法,而不是将它们的实现相互暴露,但除此之外,它们都很好。

答案 1 :(得分:3)

这实际上取决于你想要完成的具体细节。从表面上看,如果需要,一个模型可以与另一个模型交互。只需确保模型必须与另一个模型交互的原因得到深思熟虑,并且模型与模型交互的模型不会更好地通过模型与通信交互来实现。

答案 2 :(得分:3)

他们当然可以相互了解,并利用彼此的功能。通常,最佳实践将保持这种单向,但并非总是如此。像dj_segfault所说,这种互动应该通过公共方法。请务必阅读Dependency injection;只要所有公共方法仍然表现相同,改变一个类的内部工作不应该打破另一个类。

相关问题