Tag: 模型视图控制器

观察者,发布/订阅和数据绑定之间的区别

观察者模式 , 发布/订阅和数据绑定有什么区别? 我search了一下,所以没有find任何好的答案。 我曾经相信的是,数据绑定是一个通用的术语,实现它的方式有很多,例如Observer Pattern或者Pub / Sub模式。 通过Observer模式,Observable可以更新观察者。 通过发布/订阅,0多个发布者可以发布某些类别的消息,并且0多个订阅者可以订阅某些类别的消息。 还有其他模式实现“数据绑定”?

应该将sorting逻辑放在模型,视图还是控制器中?

我有一个下拉列表,显示表中的值到最终用户。 我希望这些值按字母顺序sorting。 根据适当的MVCdevise,我应该在哪一层放置我的sorting逻辑:模型,视图还是控制器? 编辑 :在回应LarsH的问题,“你的意思是代码决定什么sorting顺序是需要的?或执行sorting的代码?”,我最初是指确定sorting顺序是什么意思的代码。

显示popup窗口最优雅的方式

我有这个AngularJS应用程序。 一切正常。 现在,当特定的条件变成真实时,我需要显示不同的popup窗口,我想知道什么是最好的进行方式。 目前我正在评估两个选项,但我完全开放其他选项。 选项1 我可以为popup窗口创build新的HTML元素,并直接从控制器追加到DOM。 这将打破MVCdevise模式。 我对这个解决scheme不满意。 选项2 我总是可以在静态HTML文件中插入所有popup窗口的代码。 然后,使用ngShow ,我可以隐藏/只显示正确的popup窗口。 这个选项不是真的可扩展的。 所以我很确定要有一个更好的方法来实现我想要的。

在Django中分离业务逻辑和数据访问

我正在Django写一个项目,我看到80%的代码在models.py文件models.py 。 这段代码令人困惑,在一段时间之后,我停止了解真正发生的事情。 这是困扰我的东西: 我发现我的模型级别(它应该只负责数据库中的数据)的工作也在发送电子邮件,在其他服务上发送API等。 另外,我觉得在视图中放置业务逻辑是不可接受的,因为这样很难控制。 例如,在我的应用程序中,至less有三种方法来创buildUser新实例,但从技术上讲,它应该一致地创build它们。 当我的模型的方法和属性变得不确定时,以及当它们产生副作用时,我并不总是注意到。 这是一个简单的例子。 起初, User模型是这样的: class User(db.Models): def get_present_name(self): return self.name or 'Anonymous' def activate(self): self.status = 'activated' self.save() 随着时间的推移,它变成这样: class User(db.Models): def get_present_name(self): # property became non-deterministic in terms of database # data is taken from another service by api return remote_api.request_user_name(self.uid) or 'Anonymous' def activate(self): # method […]

在MVC中处理$ _POST数据的正确方法是什么?

我在我的PHP系统中有常见的MVC情况: Controller从包含$_POST数据的View接收请求。 现在我有三种方法来处理数据: a) Controller只调用Model和Model处理$_POST数据。 b) Controller将$_POST数据转换成variables并传递给Model 。 c) Controller将$_POST数据转换成一个Model的域对象,并只传递给Model 。 目前,我正在关注选项A,但我相信这是错误的,所以我正在考虑使用选项C. 所以,根据MVC,处理$_POST数据的正确方法是什么? 编辑目前,我没有使用任何MVC框架。 编辑2通常,同一个Controller处理来自浏览器,Web服务,离线应用程序等的请求,或者每个人都有自己的Controller ?

你将如何在Windows窗体应用程序中实现MVC?

我没有开发太多的桌面/ Windows窗体应用程序,但是我发现在Windows Forms .NET开发中使用MVC(模型视图控制器)模式可能会有一些好处。 有没有人在Windows窗体中实现MVC? 如果是这样,你有任何关于devise的提示吗?

WEB-INF目录内的JSF文件,我如何访问它们?

我想把我的JSF 2.0 xhtml文件放在WEB-INF \ jsf下。 那么我如何访问它们呢? 我知道WEB-INF中的任何东西都不会暴露在外面,所以我需要一个控制器来将我redirect到相应的JSP,对吧? (这也是模式2的模式iirc)。 我可以用web.xml / faces-config.xml中的参数来实现吗? 我认为FacesServlet是我的web应用程序的控制器,所以它应该为此目的? 另一个问题是理解模型2模式。 每个动作都必须先到达一个servlet,然后处理下一个可能的步骤? 那么一个简单的<a href="anotherPage.html" />在这种模式下是被禁止的,因为它不会去控制servlet?

Laravel 3:寻找解释如何使用模型

我是MVC新手,我的第一个框架是Laravel(现在是3)。 我已经开始专门在路线上编码,然后我转移到了控制器上。 然而,我正在控制器中完成所有的数据库操作。 我不明白如何使用模型。 例子或者显示控制器或者路线中的所有东西,但是它们不会分割模型,控制器和视图。 任何人都可以解释我如何使用模型? 总之,我不明白如何链接到对方,如发送表单input给他们模型,或处理数据回控制器。 一个Laravel(如果可能的话)的github回购(如果可能的话)与一个完整的MVC设置将是很好的分析,如果有人有一个我可以看看? 谢谢。

出生datevalidation不断显示

我正在input一个DOB – 22/12/1986到我的文本框中,validation不断发射。 它说: The field DOB must be a date. 我的模特 : [System.ComponentModel.DisplayName("DOB")] [DisplayFormat(DataFormatString = "@{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] [Required(ErrorMessage = "Date Of Birth is required")] [RegularExpression(@"{0:dd/MM/yyyy}", ErrorMessage = "Invalid Date")] // below is a link public DateTime DOB { get; set; } 我的观点 : <div class="form-group"> @Html.LabelFor(model => model.DOB, htmlAttributes: new { @class […]

我可以从视图中调用模型吗?

而不是使用一个完整的PHP MVC,我正在devise一个最适合我的用途。 我已经完成了基本框架,并编写了我需要的模型和控制器来运行我的网站。 现在我正在进入意见,我遇到了一个小小的困境。 我的方法对我来说工作得很好,但为了将来的参考,我想知道我正在做的是一个坏习惯。 我在做什么: 在我的视图中,我打电话给运行我的身份validation系统的模型,并请求用户的login状态。 然后我使用该布尔值来决定是否在视图中显示某些元素,以及在哪里放置其他元素。 我应该为每个login状态devise单独的视图,还是这种方法很好? 但是,如果我要将这个MVC用于我为客户做的工作,那么我需要使用最佳实践。 任何意见将不胜感激!