在MVC,MVVM或MVP中,我通常会有一些模型要么强调结合使用其他模型来获取所需的全部数据,要么基本上需要连接到其他表(模型)。当我碰到这个时,我通常只是像普通的那样扩展模型的功能,但是在我正在创建的新方法中包含一个连接到另一个表。有时我决定使用哪种模型我应该放置这个功能/加入,因为它使它依赖于不是特定于该模型的东西。在使用利用数据模型的模式时,是否有更好的方法来处理关系?
这里有一些伪代码可以帮助说明我对于混合的一些活动记录的含义:
public static void getAll() {
this.db("sometable").join("anothertable", "column", "=", "anothercolumn").select();
}
现在,如果模型是针对sometable
的,那么我通过在上面的方法中加入another table
来创建排序的依赖关系。现在sometable
的模型也处理anothertable
,它将拥有自己独立的模型。
答案 0 :(得分:1)
'模型'是一个抽象术语。它不需要是一个单一的模型。
我将MVP视为主持人,观点以及我完成任务所需的其他任何事情。这可能是一个类,枚举或许多存储库。只要我保持主持人的依赖性很低,我就很高兴。
您是否可以考虑让您的控制器或演示者依赖于您的模型之上的某些内容,这些内容可以在您需要时获取相关内容?