Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC:线性通信与三角通信_C#_Asp.net Mvc_Model View Controller_Design Patterns - Fatal编程技术网

C# MVC:线性通信与三角通信

C# MVC:线性通信与三角通信,c#,asp.net-mvc,model-view-controller,design-patterns,C#,Asp.net Mvc,Model View Controller,Design Patterns,在中,据说-MVC体系结构是三角形的:视图向控制器发送更新,控制器更新模型,视图直接从模型得到更新 同样通过和,很明显MVC支持三角沟通 但问题是视图如何以及何时与模型交互,反之亦然 获得一些代码来明确MVC支持三角通信的方式和时间是令人钦佩的。MVC与其他设计模式或复合模式一样,让设计师以自己的方式进行调整/采用/理解 P>如果你看MVC的历史,它是从SimultLead语言中发明的,它与我们目前常用的OO语言java、.NET或C++有一些不同。因此,有很多关于MVC应该如何工作的解释。没

在中,据说-MVC体系结构是三角形的:视图向控制器发送更新,控制器更新模型,视图直接从模型得到更新

同样通过和,很明显MVC支持三角沟通

但问题是视图如何以及何时与模型交互,反之亦然


获得一些代码来明确MVC支持三角通信的方式和时间是令人钦佩的。

MVC与其他设计模式或复合模式一样,让设计师以自己的方式进行调整/采用/理解

<> P>如果你看MVC的历史,它是从SimultLead语言中发明的,它与我们目前常用的OO语言java、.NET或C++有一些不同。因此,有很多关于MVC应该如何工作的解释。没有正确的解决方案!这取决于你。也许MVC,你知道它实际上是MVP,而不是别人眼中的MVC。我经历过多少次,谁知道呢。如果您感兴趣,这里有一些关于MVC的讨论,我喜欢的差异以及如何实现它

现在需要注意的重要一点是,MVC的主要目标是将视图与模型分离,以便多个视图可以共享同一个模型。因此,具体地回答您的问题:视图如何以及何时与模型交互,反之亦然

何时:通常当模型发生更改时,它会自动发送更新所有视图的信号

如何:模型封装刷新并发送到视图所需的所有信息,或者视图持有对模型的引用,并在必要时或通过控制器直接查询其状态。如你所愿


视图可以像控制器一样发出查询。MVC真的只是提供了一些指导原则,它们可以被打破或解决。+1对于MVC的评论真的只是提供了一些指导原则