【问题标题】:Where can I find clear examples of MVC? [closed]我在哪里可以找到 MVC 的清晰示例? [关闭]
【发布时间】:2010-09-23 05:17:11
【问题描述】:

我已经阅读了几篇关于 MVC 的文章,但我仍然不明白什么时候应该使用它们,什么时候不应该使用它们。我正在寻找明确的例子,比如“如果你正在开发这个,那么你应该使用 MVC,就像这样”和“如果你正在开发这个,你不应该使用MVC。”我见过的大多数示例都依赖于复杂的框架,这些框架已经实现了所有功能,您必须学习该框架并大量使用它来了解真正发生的事情。对于许多程序员来说,诸如“UI 业务逻辑”之类的措辞听起来像是营销术语——例如,“View 直接绑定到 Presentation Model”这样的词用于this post.

我知道隐藏在阴影中的危险,因为 MVC 是一个概念,每个人都觉得他们最了解它,但没有人真正知道如何使用它,因为可能涉及很多变量,每个人都允许对如何将项目分解为模型、视图和控制器有不同的看法。那里有很多理论,但很少有明确的例子。我正在寻找的不是“最好”的方法,所以这不应该被认为是主观的;我正在寻找不同的简单实现,让我自己决定哪些是最好的方法。

简而言之:有哪些好的在线资源可以展示在各种情况下使用 MVC 的优缺点,并提供清晰的示例来帮助读者理解这个概念?

【问题讨论】:

标签: model-view-controller


【解决方案1】:

IMO,最好的例子是代码和/或入门工具包。

Rob Conery 有一个great number of posts,它解释了如何使用 ASP.NET MVC 创建 MVC 站点。其中每一个都有一个video tutorial,它贯穿了博文讨论。

官方ASP.NET MVC 网站也有一些video posts、入门工具包(hereherehere)和extra sauce 提供帮助。

IMO,MVC 是网站的必经之路。在不吐出所有行话和营销语言的情况下,它确实将您的代码分解为漂亮的、单独的和定义的部分。这些部分中的每一个都可以进行测试.. 这确实有助于保护开发过程,因为您知道触摸系统的一个部分不会破坏另一个部分(因为在您最近的更改之后测试全部通过),您可以放心。

您应该查看的其他博客:

【讨论】:

    【解决方案2】:

    假设您指的是 Web 的 MVC,您将很难找到比以下 60 行代码更简洁的内容:

    http://code.google.com/p/barebonesmvc-php/

    特别注意 sendResponse “模板方法”,它本质上由以下 2 个方法调用组成:

    applyRequestToModel

    applyModelToView

    【讨论】:

      【解决方案3】:

      我见过的最高评价之一是Learn MVC in 7 days 帖子。当然,再好不过了,和Pro ASP.NET MVC 4这样的书相比还是相形见绌

      【讨论】:

        【解决方案4】:

        我已经为各种项目做了这一切。 从用一个伟大的 PHP 脚本编写应用程序的所有内容(好吧,它最初是一个刚刚成长的小型 PHP 脚本)。 使用最新最好的 Spring/Freemarker 框架,我的 5O 行 java 代码在 XML 和模板编码的海洋中丢失了。

        您可以在没有框架的情况下执行 MVC,并且在 php 中这可能是最简单的方法。如果你所有的导航代码都在一个只有导航逻辑的脚本中,那么你就是在做 MVC!

        对于 QDP(快速脏页)以外的任何内容,我建议使用某种 MVC。试想一下,如果企业说“我能有法语版本”或“很棒的程序,但我想将数据存储在 xxxxx 数据库中”,你需要做什么。

        【讨论】:

          【解决方案5】:
          【解决方案6】:

          通常很难清楚地将视图逻辑与业务逻辑分开。 如果您阅读 Abit 上的 JSF 和 JSP 示例,您可以看到使用中的 MVC 的清晰示例。将视图与业务逻辑完全分离。

          如果您正在寻找有关 MVC 的好信息,我可以建议 http://en.wikipedia.org/wiki/Model-view-controller

          这是一个重要的话题,我真的很喜欢分离不同逻辑的想法。它可以帮助程序员和从事该项目的其他所有人。

          【讨论】:

            最近更新 更多