1

我知道这种类型的问题被问了很多,我自己也问过一次这个问题,但是似乎没有答案适合我的问题。我认为,通过采用“一般”方法而不是特定方法,它对自己和他人都会更有帮助。

诸如“从视图加载控制器”“从控制器加载控制器”“从另一个视图加载带有控制器的视图”之类的问题经常被问到,到目前为止我得出的结论是,并不是没有办法做到这一点(我自己找到了一个解决方案)它只是一个糟糕的架构问题。

所以,我的问题是,什么是好的架构?

如果您想加载不同的视图并帮助您组织,模板方法很有用。那太棒了。我认为问题是这样的:

-模型1,控制器1,视图1

-模型2,控制器2,视图2

-view3

-view4

您可以找到一种在视图 1 或 2 中加载视图 3 和 4 的方法。但是当您想在视图 1 中加载视图 2 时会发生什么?无法在其中包含 controller2。

我不是在问一种包含它的方式,我是在问正确的做法是什么?我已经看到了很多“重用模型”的答案。但我不太明白那是什么意思。

我认为回答这个问题并不能解决我迄今为止遇到的问题(因为该项目是如此先进,我不得不重做),但它会帮助我在未来的项目中从一开始就做到这一点。

感谢您的帮助。

4

2 回答 2

1

视图的最佳实践之一是设计它,例如三个文件夹

  • 常见的
  • 内容
  • 布局

Common :将有许多 html 片段,如菜单、侧边栏、页眉、页脚...等,甚至还有一些较小的部分,如评论框或其他

内容:类似于常见但更多与内容相关的视图,在除常见之外的大多数网站中都很有用

布局:此文件夹将包含您网站的可能布局,其中包含常见和内容视图

this 对于更多理解 MVC 的观点,请查看这篇文章

于 2013-03-27T19:32:09.150 回答
0

我喜欢保持简单...

模型与我的数据库或其他数据源交互。这就是他们所做的一切。它们将数据作为输入并返回数据。

控制器充当请求端点并控制应用程序流/条件。他们获得正确的数据(来自模型),验证数据(来自用户),决定做什么。然后,他们用正确的数据加载正确的视图。

视图只是显示控制器交给它们的任何数据的 HTML 模板。我的观点中唯一的“处理”是迭代数组以产生可重复的元素、格式化和有条件地显示元素/数据。

我能想到的唯一真实实例是一个视图在其中加载另一个视图,例如导航元素或其他在多个(但不是所有)页面上重复的常见 HTML 元素。

于 2013-03-27T18:13:18.440 回答