Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.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#MVP的模式是什么?_C#_Model_Mvp - Fatal编程技术网

C#MVP的模式是什么?

C#MVP的模式是什么?,c#,model,mvp,C#,Model,Mvp,在我的上一个项目中,我第一次使用MVP,现在我完全被它弄糊涂了 关于MVP,我学到的是:MVP中的模型确实存在,只是为了提供视图所需的内容和它所需的内容。 因此,我的观点将得到的模型不太可能用实际逻辑来表示类/对象 事实上,它们更可能只是数据传输对象,所有设置都非常完美,因此视图只需按其认为合适的方式显示数据即可 但从我在网上收集的信息来看,模型层是我的大部分业务逻辑应该驻留的地方 为什么我在网上找到的关于模型的东西与我所学的东西如此不同 我敢肯定,我在这里混淆了概念,我真的需要帮助来解决这一混

在我的上一个项目中,我第一次使用MVP,现在我完全被它弄糊涂了

关于MVP,我学到的是:MVP中的模型确实存在,只是为了提供视图所需的内容和它所需的内容。

因此,我的观点将得到的模型不太可能用实际逻辑来表示类/对象

事实上,它们更可能只是数据传输对象,所有设置都非常完美,因此视图只需按其认为合适的方式显示数据即可

但从我在网上收集的信息来看,模型层是我的大部分业务逻辑应该驻留的地方

为什么我在网上找到的关于模型的东西与我所学的东西如此不同


我敢肯定,我在这里混淆了概念,我真的需要帮助来解决这一混乱局面。

我认为您的思路是正确的,演示者层应该处理大多数业务逻辑,模型层应该表示您的数据或域模型。这正是我正在研究的文本,它似乎为Web窗体中的实体提供了一个很好的基础。将业务逻辑放在业务层中。还请记住,这是一种需要遵循的模式,而不是一条法则。请注意,MVC和and是不同的模式,“模型”在每一种模式中的含义都非常不同(文章的第二部分可能是关于原创的)。一个简单的模型不包含业务逻辑。您正在阅读的内容可能是MVVM模式中的视图模型,它执行的任务基本上与MVP中的演示者相同。@Alexei Levenkov,我用粗体表示的模型MVP的定义正确吗?如果是这样的话,你介意解释一下MVC和MVP模式之间的区别吗?@Darkalfx-请注意,我不是这方面的专家。。。我的理解是,您的粗体定义是MVP中的“视图模型”(即WPF和ASP.NETMVC中使用的视图模型),而第二部分是“业务/域模型”,其中“M”代表MVC/MVP/MVVP中的“M”。