问题标签 [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 投票
3 回答
2932 浏览

model-view-controller - 使用 MVC,应该如何处理 View 之间的通信?模型之间?

在我实施 MVC之前,我寻求正确理解 MVC 的第三个问题:

我想到了两种情况:

  1. 主应用程序窗口需要启动首选项窗口。(一个视图调用另一个视图。)
  2. 应用程序的主要模型需要访问首选项模型中的属性。(一个模型访问另一个模型。)

这些问题是相关的,因为它们都涉及模型-视图-控制器三元组之间的通信,这是我在谷歌搜索中没有找到太多讨论的主题。

解决此问题的明显方法是将所有内容包装在一个顶级“应用程序”对象中,该对象处理模型之间的事务并允许控制器调用彼此的方法。我已经看到了这个实现,但我不相信这是一个好主意。我还可以看到涉及控制器观察多个模型并响应多个视图的可能性,但这似乎会变得非常混乱且难以理解。

关于如何最好地实施这种串扰的建议?我觉得这是一个非常明显的问题,但我一直无法找到一个有据可查的解决方案。

从更广泛的角度来看,如果有人有显示这些 MVC 问题的典型方法的链接,我很乐意看到它。我没有太多运气找到可靠的、重要的参考资料。Python 中的示例会很可爱,但我很乐意阅读任何内容。

编辑 1

我看到下面说了一些非常有趣的事情,总的来说,我描述的方法似乎没有人有问题。它已经几乎是 Vincent 所描述的 FrontController 设计的一种惰性形式。我当然没有预见到在实现该模式时会出现任何问题,但是,似乎没有人真正解决过关于模型之间通信的问题。所有的答案似乎都在解决单个模型中对象之间的通信。我对为应用程序的单独组件维护单独的模型更感兴趣,因此我不会将 50 个状态属性填充到单个模型类中。我应该将它们维护为子模型吗?

0 投票
6 回答
50696 浏览

asp.net-mvc - ASP.NET MVC - 控制器中应该存在业务逻辑吗?

几天前, Derik Whitaker 发表了一篇文章,这引起了我一段时间以来的好奇:业务逻辑是否应该存在于控制器中?

到目前为止,我看到的所有 ASP.NET MVC 演示都将存储库访问和业务逻辑放在控制器中。有些甚至还会在那里进行验证。这导致了相当大、臃肿的控制器。这真的是使用MVC框架的方式吗?看起来这最终会导致大量重复的代码和逻辑分布在不同的控制器上。

0 投票
3 回答
307 浏览

asp.net-mvc - 如何在 ASP.NET MVC 中为具有多个字段的视图实现“创建”控制器操作

我是 ASP.NET MVC 的新手,所以这可能是一个愚蠢的问题。

我有一个包含许多参数的帐户对象。我想出了一个策略,将其分解为一个类似“向导”的界面,引导用户收集所需的字段以创建初始业务对象。然后它将逐步浏览页面以收集其他可选参数。这样,用户就不会面对一个必须输入 30 项内容的页面(我可能夸大了这个数字,但你明白了)。

尽管如此,第一页将有 10-12 项用户需要填写,然后我才能填写伴随成功注册的 2-3 个业务对象的所有必填字段。基本上,一个新用户需要同时获得一个帐户和注册一个事件,因此项目的数量。

在 ASP.NET MVC 中,我的所有表单参数似乎都映射到控制器方法中的方法参数。知道具有大量参数的方法被认为是应该重构的代码异味,我想知道是否有不同的方法来实现这一点,或者我是否坚持使用具有一对一的控制器方法表单参数和方法参数之间的映射。

我在 Google 搜索中遗漏了一个众所周知的模式来解决这个问题吗?

0 投票
1 回答
437 浏览

subsonic - 亚音速控制器

SubSonic 中的控制器有什么用?

0 投票
4 回答
6039 浏览

java - 如何访问 JFrame 中的多个 JPanel?

我有一个JFrame包含一个“显示”JPanelJTextField一个“控件” JPanel,其中包含应该访问显示内容的按钮JPanel。我认为我的问题与如何使用观察者模式有关,原则上我理解。您需要放置侦听器并更新消息,但我不知道将这些放在哪里,如何从一个面板访问另一个面板,并且可能在必要时引入“数据模型”类。例如,我想JTextField从控制面板访问内容,并使用匿名操作侦听器,如下所示:

0 投票
3 回答
2641 浏览

asp.net-mvc - ASP.NET MVC OutputCache 不适用于根 URI

我正在学习 ASP.NET MVC,但遇到了一个问题。

在 HomeController 中,Index 操作具有 OutputCache 属性,但似乎不起作用。

经过几分钟的尝试,我发现这是由于我访问操作的方式所致。如果我通过“ http://localhost:3573/ ”访问它,则输出缓存不起作用。但是,如果我使用“ http://localhost:3575/Home/Index ”访问它,则输出缓存可以工作。

有人知道使默认控制器操作输出可缓存的任何解决方法吗?

谢谢。

0 投票
4 回答
1831 浏览

asp.net - 您如何在 asp.net mvc 中使用显示数据“孤岛”的用户控件?

我试图找出如何在 asp.net mvc 中使用用户控件。我知道如何将用户控件添加到视图以及如何将数据传递给它。我无法弄清楚的是,您如何在不必检索和传递每个控制器中的数据的情况下做到这一点?

例如,如果我有一个用户控件,它在站点中的几个但不是所有页面上显示最近的帖子,我如何编写控制器以便我获取该用户控件的数据并将其仅从一个传递给用户控件放置在网站中,而不是在使用用户控件的每个不同控制器中获取和传递数据?

我不确定这是否有意义。是否有更好或推荐的方法来处理要在多个页面上显示的数据“孤岛”?

我来自网络表单,我可以编写一个用户控件,该控件获取自己的数据并独立于使用它的任何页面的其余部分显示数据。

0 投票
2 回答
1873 浏览

c# - C# - 无法解析 DirectX SDK 中的 XInput 命名空间(2008 年 11 月)

我刚刚开始使用directx,并且在互联网上阅读了一些使用XInput 与Xbox 控制器交互的文章。

当我尝试在我的 c# 应用程序中使用它时,我似乎找不到要引用的正确程序集。据我了解,它应该在Microsoft.DirectX.dll(namespace Microsoft.DirectX.XInput) 中,但是当我添加引用时,它并没有得到解决。

我错过了什么吗?我应该尝试早期版本的 sdk 吗?

0 投票
2 回答
275 浏览

asp.net-mvc - 添加不是聚合根的实体的首选 URL 是什么?

示例:Order 对象(聚合根)具有 OrderLine 对象(子实体)的集合。将 OrderLine 添加到订单的 URL 是什么?考虑使用聚合根的控制器和为子实体使用单独的控制器之间的区别。

1:http ://example.com/orders/add-orderline?order-id=42&product-id=12&quantity=2

或者

2:http ://example.com/order-lines/add?order-id=42&product-id=12&quantity=2

谢谢!

0 投票
6 回答
947 浏览

model-view-controller - 在游戏开发中,MVC中的控制器纯粹是为了处理用户输入吗?

我读过这方面的矛盾。

来自维基百科:

控制器 处理和响应事件,通常是用户操作,并可能调用模型上的更改。

通常令人困惑的是这个词。如果不只是用户输入,那么还有什么?