问题标签 [model-view-controller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
973 浏览

ruby-on-rails - 如何在 MVC 中表示跨模型信息?

我有一个使用 MVC 构建的应用程序,它生成一个视图,该视图提供跨多个模型的摘要信息。此外,一些计算是在不同的数据集上执行的。

没有明确的单一模型(至少映射到表)作为起点似乎是有意义的,因此从控制器中的贡献模型中提取各种摘要,传递到视图并在那里执行计算.

但这似乎很脏。但是控制器应该是轻量级的,不是吗?业务逻辑不应该出现在视图中,就像我现在所拥有的那样。

那么这些信息应该在哪里收集呢?一个不映射到表格的新模型?库函数/模块?或者是其他东西?

(虽然我认为这主要是一个架构/模式问题,但我在 Rails 工作,FWIW。)

编辑:全面的好答案,以及很多共识,这令人放心。我“接受”了我为将 Railscasts 的链接保留在顶部所做的回答。我在 Railscast 观看中落后了——我将努力纠正这一点!

0 投票
7 回答
1367 浏览

javascript - javaScript 客户端代码的替代“架构”方法?

您的 JavaScript 代码是如何组织的?它是否遵循 MVC 之类的模式或其他模式?

一段时间以来,我一直在从事一个辅助项目,并且越深入,我的网页就越变成功能齐全的应用程序。现在,我坚持使用jQuery,但是,页面上的逻辑正在增长到某种组织,或者我敢说,“架构”是需要的。我的第一种方法是“MVC-ish”:

  • 'model' 是一个 JSON 树,可以使用助手进行扩展
  • 视图是 DOM 加上调整它的类
  • 控制器是我连接事件处理和启动视图或模型操作的对象

然而,我对其他人如何构建更丰富的 JavaScript 应用程序非常感兴趣。我对 GWT 或其他面向服务器的方法不感兴趣……只是对“javaScript + <generic web service-y thingy here>”的方法感兴趣

注意:之前我说过 javaScript“不是真正的 OO,不是真正的功能”。我想,这让每个人都分心了。这么说吧,因为 javaScript 在很多方面都是独一无二的,而且我来自强类型背景,我不想强​​制使用我知道的范式,但它们是用非常不同的语言开发的。

0 投票
2 回答
6258 浏览

asp.net-mvc - 用 VB.net 2008 开始 ASP.NET MVC

我在哪里可以找到关于使用 VB.net 2008 作为语言学习 ASP.NET MVC 的好教程?我在网上搜索到的最深入的教程都是用 C# 编写的。

0 投票
14 回答
17901 浏览

apache-flex - Flex MVC 框架

我目前正在使用并喜欢使用 Flex MVC 框架PureMVC。我听说了一些关于 Cairngorm 的好消息,它得到了 Adob​​e 的支持,并具有率先上市的势头。还有一个叫 Mate 的新玩家,它很受欢迎。

有没有人尝试过这些框架中的两个或三个并形成了意见?

谢谢!

0 投票
5 回答
401 浏览

php - 使用视图或不使用视图

我现在似乎卷入了与这个项目的另一位程序员的辩论,他认为这些观点没有任何价值。他提出了一个 PHP 看起来像这样的系统:

依此类推(这是在控制器中)。现在他对此的论点实际上是有道理的,他声称如果进行重新设计,我们需要做的就是在一个地方更改 HTML,然后它会自动更改所有地方。但是由于某种原因,这种方法仍然使我感到不适,对这种方法有什么看法吗?我的意思是不必手动重新输入 HTML。

0 投票
8 回答
1387 浏览

java - 将现有凌乱的 web 应用程序迁移到优雅的 MVC 的最佳方法是什么?

大约一个月前,我加入了一家新公司。该公司规模较小,具有很强的“初创”感。我在一个由 3 人组成的团队中担任 Java 开发人员。该公司主要向企业/商业类型的人出售服务,用于相互交流。

我过去和将来要做的主要事情之一是公司的主要网站 - 从中​​出售服务,现有用户登录以检查他们的服务并支付账单,新用户可以注册试用等。目前这是一个部署在 Tomcat 上的 JSP 应用程序,可以通过公司自己编写的持久层访问数据库。

我在这里遇到的反复和日益增长的挫败感(而且我对这份工作总体上很满意,所以这不是“哦,不,我不喜欢我的工作”之类的帖子)是缺乏任何更大的设计或此 Web 应用程序的体系结构。该应用程序由几十个 JSP 页面组成,几乎不存在 Servlet 或 Beans 或任何其他类型的框架中的逻辑。许多 JSP 页面是数千行代码,它们jsp:include是其他 JSP 页面,业务逻辑与 HTML 混合在一起,经常使用的代码片段(例如获取 Web 服务连接)被剪切和粘贴而不是重用等。换句话说,应用程序是一团糟。

公司内部一直在尝试重新设计该站点以使其更适合 MVC。我认为开发人员和高层开始意识到这种当前的意大利面条式代码模式是不可持续的,或者很容易扩展为用户添加更多功能。高层和开发人员对完全重写东西持谨慎态度(有充分的理由,因为这意味着重写现有功能需要数周或数月的工作),但我们已经讨论过(慢慢地)重新编写将网站的某些区域写入新框架。

使应用程序和代码库向这个方向移动的最佳策略是什么?作为一名开发人员,我如何才能真正帮助快速推进这项工作,而不是看起来像一个刚入职并告诉所有人他们写的东西都是废话的混蛋?当您遇到此类事情时,您在自己的工作经历中是否使用过任何经过验证的策略或经验?

0 投票
6 回答
305 浏览

asp.net-mvc - 你更喜欢用哪种方式在 MVC 中创建表单?

你更喜欢用哪种方式在 MVC 中创建表单?

或者

我知道从 PR5 开始的 Html.Form() 现在只使用请求提供的 URL。但是,我对此并不满意,尤其是因为我将获得所包含的任何查询字符串的所有包袱。

你怎么看?

0 投票
12 回答
9174 浏览

perl - 在 perl 中推荐一些好的 MVC 框架

你能为perl推荐一些好的MVC框架吗——我知道的一个是催化剂

需要能够在 perl 基础架构上公开服务,这些服务可以由 Java/.Net 应用程序无缝调用。

0 投票
2 回答
621 浏览

asp.net-mvc - ASP.NET MVC 与时代精神

ASP.NET MVC 似乎是一个相当大的入口。谁能总结一下它的 MVC 实现如何与其他语言的流行 MVC 框架相媲美?(我特别想的是 Rails 和 Zend 框架,虽然显然有很多。)关于学习曲线、常用术语、易用性和感觉良好因素的观察。

(为了了解一点背景知识,我已经避免使用 ASP.NET 有一段时间了,因为我真的很讨厌 webforms 方法,但是 Jeff 在播客上的大量赞美几乎说服了我试一试。)

0 投票
3 回答
2191 浏览

php - activerecord 作为模型,这是个好主意吗?

最近由于 Rails 的流行,很多人开始使用 activerecord 作为模型。然而,在我听说 Rails 之前(我的同龄人小组不喜欢开源东西,我们在一所 .NET 学校接受过教育……),在我做最后一年的项目时,我发现了这个模型的定义

该模型代表企业数据以及管理对这些数据的访问和更新的业务规则。模型通常用作模拟真实世界过程的软件,因此在定义模型时应用简单的真实世界建模技术。

它并没有说模型应该像 activerecord 那样表示一个表。而且通常在一个事务中,一个人可能必须查询一些不相关的表,然后操作来自不同表的数据......所以如果使用 activerecord 作为模型,那么任何一个都必须将所有逻辑代码塞进控制器(这是在某些 php 框架中有点流行),这使得测试或破解 activerecord 模型变得困难,因此它不仅对它映射到的表执行数据库操作,而且还对其他相关表执行数据库操作......

那么,滥用(恕我直言)activerecord 作为 MVC 架构模式中的模型有什么好处呢?