开始使用MVC框架的最大障碍与1模型到1 DB表概念有关.对我来说,除了一个简单的应用程序之外,它过于简单化和不切实际.然而,MVC随处可见,包括这个令人敬畏的StackOverflow站点.通常,我遇到的所有代码示例和教程都非常简单,在这些情况下,1对1关系可以正常工作.但是,我正在寻找的是一个可以解决表连接的MVC模型的可靠实际示例.在stackoverflow的情况下,我会想象一个DB设计,包括问题,标签,用户等表.在我的数据库设计中,我可能有一个Question_Tag链接表来查找与给定问题相关的所有标签.MVC如何处理这个问题?
我不相信MVC设计模式有任何关于每个域类应该有一个数据库表的信息.事实上,MVC设计模式没有任何内容甚至表明您的模型应该或必须持久存储在关系数据库中.
这只是一些流行的框架(Ruby on Rails - 也许是ASP.NET MVC?)的策略,这似乎是方便的缘故.但它不是MVC的要求.Spring MVC(针对Java世界)没有如何将模型组件映射到数据库的固有概念,事实上它的美妙之处在于它并不关心 - 您只需提供要使用的模型数据,以及您获得的位置它从MVC框架不关心.
换句话说,您不需要假设MVC模式意味着您必须为每个模型组件使用一个数据库表.哎呀,你甚至不需要使用数据库,你的模型也可以来自平面文件或Web服务(MVC的优点是,如果你正确地设计你的应用程序,你可以交换不同的数据层实现超出您的应用程序,视图或控制器甚至不知道).