我已经阅读了一些关于MVC的内容,但我仍然不明白何时应该使用它们以及什么时候不应该使用它们。我正在寻找明确的例子,说“如果你正在开发这个,那么你应该使用MVC,像这样”和“如果你正在开发这个,你不应该使用MVC。“我见过的大多数例子都依赖于已经实现了所有内容的复杂框架,你必须学习框架并使用它来了解真正发生的事情。对于许多程序员来说,诸如“ UI业务逻辑”之类的措辞听起来像营销术语 - 例如,单词“而不是View直接绑定到Presentation Model ”用于this post.
我知道可能潜伏在阴影中的危险因为MVC是一个概念,每个人都觉得他们最了解它,但是没有人真正知道如何使用它,因为可能涉及很多变量,每个人都是允许对如何将项目分解为模型,视图和控制器有不同的观点。有很多理论,但很少有明显的例子。我正在寻找的不是“最好”的方式,所以这不应该被认为是主观的;我正在寻找不同的简单实现,这些实现可以让我自己决定哪种方法最好。
简洁:什么是良好的在线资源,提供在各种情况下使用MVC的赞成和反对论据,并提供明确的例子,以帮助读者理解这个概念?
答案 0 :(得分:13)
IMO,最好的例子是代码和/或入门套件。
Rob Conery有一个great number of posts,解释了如何使用ASP.NET MVC创建MVC站点。其中每个都有一个video tutorial,贯穿博客论文讨论。
官方ASP.NET MVC网站还有一些video posts,初学者工具包(here,here和here)和extra sauce可以提供帮助。
IMO,MVC是网站的发展方式。没有喷出所有的行话和营销说话,它确实将您的代码分解为漂亮,独立和定义的部分。这些部分中的每一部分也可以进行测试..这确实有助于保护开发过程,因为您可以放心地知道触摸系统的一部分不会破坏另一部分(因为测试都会在您最近的更改后通过)。
您应该查看的其他博客:
答案 1 :(得分:4)
假设您的网络意味着MVC,您将很难找到比以下60行代码更简洁的内容:
http://code.google.com/p/barebonesmvc-php/
特别注意sendResponse“模板方法”,它反过来主要由以下2个方法调用组成:
applyRequestToModel
applyModelToView
答案 2 :(得分:2)
我见过的评分最高的是Learn MVC in 7 days帖子。当然,尽管如此,与Pro ASP.NET MVC 4
这样的书相比,它仍然相形见绌答案 3 :(得分:1)
我已经为各种项目的每一个方式做了这个。 从一个伟大的PHP脚本编写应用程序的所有内容(好吧,它开始是一个刚刚增长的小PHP脚本)。 使用最新的最好的Spring / Freemarker框架,我的5行java代码在XML和模板编码的海洋中丢失了。
你可以在没有框架的情况下做MVC,而在php中这可能是最简单的方法。如果您的所有导航代码都在一个只有导航逻辑的脚本中,那么您正在进行MVC!
除了QDP(Quick Dirty Page)之外的任何其他内容,我建议使用某种MVC。想象一下,如果业务部门说“我可以拥有法语版本”或“很棒的程序,但我想将数据存储在xxxxx数据库中”,您需要做什么。
答案 4 :(得分:1)
有一些mvc:http://en.wikipedia.org/wiki/Presentation-abstraction-control,http://en.wikipedia.org/wiki/Model_View_Presenter。
答案 5 :(得分:0)
通常很难将您的视图逻辑与业务逻辑明确区分开来。 如果你读过JSF&amp ;;您可以在JSP示例中看到正在使用的MVC的明确示例。从业务逻辑中完全分离视图。
如果您正在寻找有关MVC的良好信息,我可以建议http://en.wikipedia.org/wiki/Model-view-controller
这是一个重要的主题,我非常喜欢分离不同逻辑的想法。它可以帮助程序员和其他所有从事该项目的人。