我经历了很多关于MVC的阅读,以及这些内容的含义或多或少都是清楚的。我还没有理解他们的关系。我的意思是,我知道这些关系
但他们是如何实施的?在MVC框架中会发生什么?
我也有几个问题:
我读到了a view can't be coupled with the controller,换句话说,它内部没有控制器对象,但是如果一个视图应该在其中触发某些内容,它如何使用正确的控制器?
如果模型的唯一作业是表示数据,模型如何更新视图?
控制器或模型中的业务逻辑是什么?我阅读了相互矛盾的观点
答案 0 :(得分:1)
MVC最基本的探索是你拥有3层中的每一层。
<强>模型强>
查看强>
<强>控制器强>
这在理论上创建了一个关注点分离,允许您在任何一层中更改任何内容,而不需要其他层知道或关心更易于维护和读取的代码。
在实践中,这可能会变得更加复杂,具体取决于您希望如何访问数据并显示它,尽管基本原则仍然适用,偶尔意味着MVC模式的每个部分都可以由较小的部分组成。
在实施它方面,一个很好的例子是ASP.Net MVC http://www.asp.net/mvc。以下可能是使用C#通过MVC显示一些数据的简单实现。
模型(C#类)
public class Person{
public string FirstName { get; set; }
public string LastName { get; set; }
}
<强>控制器强>
public ActionResult Index(){
return View(new Person() { FirstName = "Person", LastName = "1" });
}
查看(Index.cshtml)
@model Person
Full name: @Html.Raw(Model.FirstName + " " + Model.LastName)
这将输出到网页
全名:Person 1
请原谅我没有经过测试的语法错误。
更详细的帖子:http://www.tutorialspoint.com/design_pattern/mvc_pattern.htm