Questions tagged «model-view-controller»

模型-视图-控制器(MVC)是软件工程中使用的体系结构模式。对于Microsoft ASP.NET MVC,请改用[asp.net-mvc]或[asp.net-core-mvc]标记。对于Spring MVC,请改用[spring-mvc]标签。

4
观察者,发布/订阅和数据绑定之间的区别
观察者模式,发布/订阅和数据绑定之间有什么区别? 我在Stack Overflow上进行了一些搜索,没有找到任何好的答案。 我已经相信数据绑定是一个通用术语,并且有多种实现它的方式,例如观察者模式或发布/订阅模式。通过观察者模式,观察者更新其观察者。使用发布/订阅,0个发布者可以发布某些类别的消息,0个订阅者可以订阅某些类别的消息。 还有其他实现“数据绑定”的模式吗?

12
应该将排序逻辑放置在模型,视图还是控制器中?[关闭]
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 改善这个问题 我有一个下拉列表,可显示从表到最终用户的值。我希望这些值按字母顺序排序。 根据适当的MVC设计,我应该在哪一层放置排序逻辑:模型,视图还是控制器? 编辑:针对LarsH的问题,“您是指确定所需排序顺序的代码还是执行排序的代码?”,我最初指的是确定所需排序顺序的代码。


7
使用ngRepeat时限制显示结果的数量
我发现AngularJS教程很难理解。这是引导我构建一个可显示手机的应用程序。我正在执行步骤5,我想作为一个实验,尝试让用户指定他们希望显示多少。该视图如下所示: <body ng-controller="PhoneListCtrl"> <div class="container-fluid"> <div class="row-fluid"> <div class="span2"> <!--Sidebar content--> Search: <input ng-model="query"> How Many: <input ng-model="quantity"> Sort by: <select ng-model="orderProp"> <option value="name">Alphabetical</option> <option value="age">Newest</option> </select> </div> <div class="span10"> <!--Body content--> <ul class="phones"> <li ng-repeat="phone in phones | filter:query | orderBy:orderProp"> {{phone.name}} <p>{{phone.snippet}}</p> </li> </ul> </div> </div> </div> </body> …

12
MVC与n层架构
我想知道MVC(一种架构模式)和一个应用程序的n层架构之间到底有什么区别。我进行了搜索,但找不到简单的解释。也许我对MVC概念有些天真,所以如果有人可以解释其中的区别,那就太好了。 干杯

30
是否有JavaScript MVC(微)框架?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 是否有任何客户端JavaScript MVC(微)框架? 我有一个相当复杂的HTML表单,它将从MVC模式中受益。 我想一个好的解决方案将提供以下内容: 值更改时,模型和视图会更新Controller(观察者模式) 页面加载时,从表单数据填充模型 当模型更改时,从模型填充表单 Ajax,彗星,JSONP和所有爵士乐都是严重的矫kill过正。

10
如何在Backbone.js中呈现和附加子视图
我有一个嵌套视图设置,可以在我的应用程序中深入了解。我可以想到很多初始化,渲染和附加子视图的方法,但是我想知道什么是常见的做法。 这是我想到的几个: initialize : function () { this.subView1 = new Subview({options}); this.subView2 = new Subview({options}); }, render : function () { this.$el.html(this.template()); this.subView1.setElement('.some-el').render(); this.subView2.setElement('.some-el').render(); } 优点:您不必担心通过追加来维护正确的DOM顺序。视图是在很早的时候初始化的,因此在render函数中没有太多事情可以一次完成。 缺点:您被迫重新委托delegateEvents(),这可能会很昂贵?父视图的渲染功能杂乱无章,需要进行所有子视图渲染?您没有设置tagName元素的能力,因此模板需要维护正确的tagName。 其他方式: initialize : function () { }, render : function () { this.$el.empty(); this.subView1 = new Subview({options}); this.subView2 = new Subview({options}); this.$el.append(this.subView1.render().el, this.subView2.render().el); …

1
DTO和DAO概念和MVC [关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 1)为什么要使用DTO和DAO,以及何时应使用它们。我正在开发GUIJava软件来处理插入,编辑,删除数据。但我很努力区分DTO/DAO和Model,View,Controller(MVC)结构?它们是否相似,因此通过Java与数据库交互时最好使用GUI。 2)我真正好奇的一件事是view,Controller在一个课堂上上课是否是一种好习惯。如果我们考虑过Netbeans,您可以创建GUI框架类并将类似JButton的组件添加到框架上,双击该按钮将带您到actionListener方法(控制器),该方法似乎位于要向用户显示数据的框架中(查看) 。所以他们在同一个班上。那是否完全违背了这个概念? 这就是我在说的 将视图和控制器放在一类中的不良做法?

7
如何在AngularJS中包含视图/部分特定的样式
对我的应用程序使用的各种视图使用单独的样式表的正确/可接受的方法是什么? 目前,我在视图/部分的html顶部放置了一个link元素,但有人告诉我这是一种不好的做法,即使所有现代浏览器都支持它,但我可以理解为什么对此不满意。 另一种可能性是将单独的样式表放置在我的index.html中,head但是我希望它仅在以性能名义加载其视图时才加载样式表。 这是不好的做法吗,因为样式只有在将css从服务器加载后才会生效,从而导致在慢速的浏览器中快速刷新未格式化的内容?尽管我正在本地进行测试,但我还没有目睹这一点。 有没有一种方法可以通过传递给Angular的对象加载CSS $routeProvider.when? 提前致谢!

7
无法使用jQuery Data()API设置数据属性
我在MVC视图中具有以下字段: @Html.TextBoxFor(model => model.Course.Title, new { data_helptext = "Old Text" })</span> 在单独的js文件中,我想将data-helptext属性设置为字符串值。这是我的代码: alert($(targetField).data("helptext")); $(targetField).data("helptext", "Testing 123"); 该alert()调用工作正常,它在警报对话框中显示文本“ Old Text”。但是,将data-helptext属性设置为“测试123” 的调用不起作用。“旧文本”仍然是属性的当前值。 我是否使用了对data()的错误调用?我已经在网上查询了一下,但看不到自己在做什么。 这是HTML标记: <input data-helptext="Old Text" id="Course_Title" name="Course.Title" type="text" value="" />

7
春季测试和安全性:如何模拟身份验证?
我试图弄清楚如何对我的控制器的URL进行正确保护的单元测试。以防万一有人更改周围的内容并意外删除安全设置。 我的控制器方法如下所示: @RequestMapping("/api/v1/resource/test") @Secured("ROLE_USER") public @ResonseBody String test() { return "test"; } 我像这样设置一个WebTestEnvironment: import javax.annotation.Resource; import javax.naming.NamingException; import javax.sql.DataSource; import org.junit.Before; import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.web.FilterChainProxy; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import …

2
重写MVC后,GUI无法正常工作
我正在练习MVC样式编程。我在一个文件中有一个Mastermind游戏,运行良好(也许除了“检查”按钮在启动时不可见这一事实之外)。 http://paste.pocoo.org/show/226726/ 但是,当我将其重写为模型,视图,控制器文件时,以及当我单击空的Pin(应进行更新并用新颜色重新粉刷)时,就会发生这种情况。有人可以在这里看到任何问题吗?我试过将repaint()放在不同的地方,但是根本不起作用:/ 主要: public class Main { public static void main(String[] args){ Model model = new Model(); View view = new View("Mastermind", 400, 590, model); Controller controller = new Controller(model, view); view.setVisible(true); } } 型号: import java.util.Random; public class Model{ static final int LINE = 5, SCORE = 10, …

4
Django与模型视图控制器
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 有人可以解释一下Django和Model View Controller模式之间的区别吗? 从功能上讲,我们可以从这些差异中得到什么?例如,将Django与Ruby on Rails进行比较,有什么不同?


6
为什么Qt滥用模型/视图术语?
我认为Qt中使用模型/视图控件的术语存在缺陷。他们在其解释页上指出,他们通过合并View和Controller将MVC简化为MV,并给出了以下图片: 但是我认为,他们错误地命名了对象的角色,我认为, 他们所说的带有合并Controller的View实际上只是一个View。 他们所谓的Model实际上只是Controller。 如果您真的想要一个模型,它将在他们的“数据”所在的地方。 我说的是您在应用程序中使用Qt模型/视图组件的惯常而明智的方式。原因如下: 这通常是按原样使用的Qt组件,无需添加任何特定于对象的Controller逻辑) 这几乎不是模型,只是因为您应该实现几种Qt方法,例如rowCount,columnCount,data等,这些方法与模型无关。实际上,在Controllers中可以找到典型的模型方法。当然,您可以在此处实现Controller 和 Model逻辑,但首先这将是非常糟糕的代码设计,其次,您将合并Controller和Model而不是Controller和View所声明的状态。 如原因2所述,如果您想分离模型逻辑,那肯定不是图片上的蓝色框,而是虚线的“数据”框(当然是与真实数据通信)。 Qt的术语是错误的,还是只有我不理解?(顺便说一句,这不是学术性的问题,是因为我开始按照他们的名字对我的项目进行编码,而我很快发现,代码显然是不正确的。只有在我意识到之后,我才应该不要尝试将模型逻辑放入他们所谓的模型中)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.