我在哪里可以找到对MVC的简单解释?

时间:2009-05-19 14:07:54

标签: asp.net-mvc

在我的公司,我们即将使用ASP.NET MVC构建一个新站点。我的老板(营销人员)想了解更多关于这项技术的知识,所以我试图找到一个非常好的,简单的和教学的MVC概念演示,没有任何运气。他们中的大多数都需要很多编程基础知识。

有关视频,幻灯片或其他内容的任何建议吗?

12 个答案:

答案 0 :(得分:19)

答案 1 :(得分:6)

M-V-C认为: “订单详细信息(包括客户和员工信息)”,“HTML / ASP表单(显示OrderDetails)”和“订单详细信息服务类(具有 SaveOrderDetails 的方法, GetOrderDetails etc。)。

模型(数据类,例如OrderDetails)

  1. 您要显示的数据
  2. 控制器(服务类)

    1. 了解模型(订单明细)
    2. 有管理模型
    3. 的方法
    4. 因此可以进行单元测试其单一责任是管理OrderDetails CRUD操作。
    5. 它对视图
    6. 一无所知

      查看(ASP页面)

      1. 显示模型(OrderDetail的ViewData)。
      2. 它必须了解模型的结构,以便它可以在屏幕上正确地向用户显示数据。
      3. View的结构(样式,布局,HTML等,区域设置)可以随时更改,而不会更改应用程序功能中的任何内容。
      4. 因此,许多 Views 可以通过多种方式显示相同的模型
      5. 在多租户Web应用程序中,客户特定的视图可以存储在数据库表中并根据客户信息显示

答案 2 :(得分:4)

您必须解释ASP.NET MVC的好处,而不是功能

  1. 您可以控制自己的网址 - 这意味着网站的搜索引擎优化会更好 - 这意味着您的网站在Google中会更高

  2. 代码更清晰,这意味着更容易更改,这意味着您可以更快地添加功能

  3. 您如何省钱,赚钱,降低风险?那是你老板想要知道的。

答案 3 :(得分:2)

想象一下工厂的控制室,模型是机器本身,监控设备是视图,仪表板是控制器。您可以为同一台机器配备多个不同的控制室,一个控制室中的控件更改将反映在所有控制室的显示器上。

重点是你应该只建模一次,然后查看或控制,但最方便。

答案 4 :(得分:2)

模型是数据访问层,它可以只是对管理数据实体关系本身的ORM的一些简单查询的包装器。它处理与数据源的通信,检索数据并通常将其组织到应用程序中定义的对象中。

视图只是带有html和css位的html文件,其中包含一些模板引擎(smarty,mako等)代码,用于显示以您希望的方式传递给它的数据。

控制器将它们放在一起。对页面的请求将被路由到控制器(类)和控制器内的操作(​​方法)。就像任何其他应用程序一样,该操作将执行所请求的操作,但它仍然是控制器的一部分。

因此,控制器使用模型查询数据(用户,内容等),然后将数据传递给视图,以便按照您想要的方式进行渲染和显示。

答案 5 :(得分:1)

我不会尝试向他解释这项技术,我会尝试解释MVC架构原则的全部内容。

MVC旨在区分问题。干净利落。向他解释,当你构建任何你正在构建的东西时,可以将它分为两​​类:业务需求是什么(领域),以及其他一切。

MVC通过引入图层来区分关注点,从而将域与其他所有内容分开。 M代表Model,这是您的域名。 V代表View,这是他看到的可见部分。 C代表Controller,它控制域和视图之间发生的事情。

答案 6 :(得分:1)

营销人员只对“V”部分视图感兴趣。根据您的设计方式,View只是营销人员可以修改的基本HTML / CSS“模板”。技术上没有破坏任何东西。

理想情况下,模型(数据库)和控制器(逻辑)不应该关心View(表示)是XML,HTML,文本等。营销人员不应该关心模型和控制器做什么,除了请求附加功能。

进一步使用“理想”,您应该能够在不接触模型或视图的情况下将PHP替换为PHP,Java,Ruby等作为控制器。

答案 7 :(得分:0)

你可以很容易地做到这一点,也就是说,如果你理解标记说话。我不会,但我想它会像这样......

这应该是有用的。 MVC(如果正确完成)将允许您将UI与数据(模型)和UI(控制器)的控制分离。这将使UI更加灵活,从而可以更快地自我推销。

答案 8 :(得分:0)

这是一个非常简单的

http://en.wikipedia.org/wiki/Model-view-controller#Pattern_description

我能做的最好的方式是模型是数据表示,视图是向用户呈现,控制器是收集改变模型的用户交互的东西。

答案 9 :(得分:0)

对于营销人员来说,也许解释ASP.Net MVC原因的最佳方式是扩大产品范围的能力。

通过使用MVC,代码已经以一种方式分离,这种方式可以让您更轻松地构建一个在桌面上感觉自然的界面,然后是迎合普通移动设备用户的不同界面,还有一点点 - 迎合iPhone用户的不同界面,不会有后端代码不同步的风险,并引入微妙的公司危害。而且,如果有一个智能客户端桌面应用程序可能是一个产品......它也可以放在相同的代码库上。

模型是“盒子内部的工作原理”。控制器是“你可以在盒子外面触摸的东西”,视图是“开箱即用的东西”...

答案 10 :(得分:0)

对你的营销人员来说最重要的是钱,预算,TCO ......

当你不使用MVC时,你通常会混合使用设计,应用程序逻辑等。

然后程序员必须知道HTML设计,编程等......这可能意味着你需要强大的专业人士来完成这一切。

如果你使用MVC,一切都分为“单独的部分”。 Html编码器可以编写html层,程序员只能使用应用程序逻辑等...

MVC带来更好的粒度,每个人都可以专注于他或她可以做到最好的事情!

聆听,例如xhtml有效性和css清洁度是如此之高,以至于很多人只关注这一点,同时考虑到很多浏览器和平台的兼容性。

通常一个人不是最好的asp.net程序员,xhtml编码器合二为一;;)

答案 11 :(得分:-1)

在这种情况下,经理头衔中的重要词是“营销”。他是营销经理。作为营销经理的担忧与策略和策略有关。这两个不是一回事。战略是一个重要的词汇,其中包括公司在概念上如何满足客户需求以及公司如何从竞争中脱颖而出。策略通常不是软件可以描绘给用户的。另一方面,策略是公司赢得客户业务所采用的直接方法或方法。策略往往比策略更频繁地改变,而营销经理在询问MVC可能给予他什么好处时,很可能会问:“你能用多快的速度改变你创造的东西,使之符合我们必须与客户打交道的新现实。“换句话说,如果在奥尔巴尼下雨,你可以多快将“买1送1”的报价改为“星期五买2送,下周二换1”。

营销管理是关于用美元和美分衡量的结果,而不是用缺乏任何真正特异性的概念词填充的服饰和细致入微的解释。程序员可能会说的一切都可能对他自己有意义,但营销经理需要知道对不断变化的客户感知或快速实施的快速响应的真实可能性,以及向同一客户销售的不同方法。他需要知道它是否会比现有方法花费更多,因为如果他在软件开发上花费125万美元而在产品上多卖100万美元,他可能会失去工作。

因此,简而言之,他正在寻求灵活性和成本效益。他需要能够快速适应不断变化的条件的软件,就像他先改变他的音调一样,然后另一个改变为一个难以说服的潜在顾客,他需要知道他不需要承担巨大的责任。这种灵活性的价格标签。

坦率地说,我认为如果你做出这样的承诺,你就不会做出这样的承诺,因为从开发的角度来看,尽管MVC具有所有的优点,但我们仍然在这里讨论软件,并且我们都知道,软件是一个严格的,要求严格的任务主管,它将自己的美好时光发展到可信赖的地步,并摆脱它的错误。我们作为程序员总是在寻找软件可重用性的圣杯,虽然我们试图尝试一件事,然后另一件事(MVC,MVP,MVVM,以及其他任何人可能想到的),世界其他地方只是要求有用的东西。祝你好运。我希望你能赢得你的案子。