回答
这两种模式是非常不同的。 MVP模式可以与经典的WebForms一起使用,而ASP.NET MVC已经在框架中集成了大量MVC模式的部分。关注的分离已经存在。如果你想使用MVP和经典的WebForms,你会有更多的工作,因为这个模式在框架中是不存在的。
thanx,我读过关于MVP的概念和定义。但我有问题如何将用户重定向到另一个页面或至少一层?在哪里实施验证?实际上如何实现MVP到真正的项目。根据我的搜索,没有足够好的MVP教程 – 2012-04-08 09:25:14
我知道这是旧的,但只是为了完成。您的页面(视图)正在执行重定向,因为它具有对HttpContext的访问权限。您的Presenter不应该直接访问HttpContext。你的页面(视图)来自一个界面,即:可以有一个Redirect方法将URI作为参数的IView。您的页面(查看)然后实现重定向。因此,当Presenter调用“MyView.Redirect(MyUri)”时,它将执行重定向的页面(视图),并且演示者仅将位置发送给它。这也使得测试演示者变得更容易,因为你可以嘲笑自己的视图,而不依赖于httpContext。 – Nope 2012-04-20 18:30:48
为了澄清,您的Presenter在执行时有权访问HttpContext,但是当您针对演示者编写单元测试时,您将得到'Object not initialized'错误,因为单元测试框架不会初始化httpcontext。由于HttpContext是一个不能从任何接口继承的密封类,所以你不能模拟/伪造它。您最好确保您的httpContext只能从视图(您的页面)本身访问,并通过IView界面向主持人提供对功能的访问权限等。 – Nope 2012-04-20 18:32:58
MVC适合简单的服务器端脚本。在MVC开发人员中,总是尽量保持控制器非常精简。主要是控制器只是选择适当的模型并反思视图。但在今天的网络应用程序中,View部分已经发生了根本性的变化,并且变得足够复杂,足以产生一个大而笨重的控制器。所以现在我们需要一个新的地方来放置用户界面的复杂控制逻辑。这里的P的MVP进来,这是主持人。因此演示者负责控制特定用户界面组件的逻辑。不用担心控制器仍然在这里,命名为应用控制器。最终负责切换相对较大的应用程序组件。所以MVP也可以说是MVPC(!!)。顺便说一句,这是我理解MVP的方式,显然没有任何基本规则。但是Google有一些关于MVP的非常酷的文档。
- 1. ASP.NET MVC 2教程
- 2. Asp.NET MVC是MVC还是MVP?
- 3. ASP.NET MVP vs ASP.NET MVC
- 4. JavaFX的MVC MVP连接
- 5. 关于官方GWT MVP框架的任何教程?
- 6. IntelliJ Spring MVC教程部署
- 7. MVC - 控制器类教程
- 8. Visual C#教程ASP.NET MVC 2
- 9. Joomla mvc视频教程
- 10. MVC - C#,ASP.net:教程通缉
- 11. ASP.NET MVC 3极需教程
- 12. mvc和mvp设计模式
- 13. 是什么MVC和MVP
- 14. Asp.Net中的FormsAuthentication的最新教程MVC
- 15. Spring MVC的Java教程问题
- 16. 教程 - 在asp.net的MVC 4或5
- 17. 在Spring MVC的教程新手
- 18. 使用SQLServer的ASP.NET MVC教程?
- 19. 大规模应用程序开发和MVP教程中的问题
- 20. MVP MVC和MVVM之间的区别
- 21. MVC/MVP中的控制器间通信
- 22. .NET WinForms应用程序的MVC/MVP框架
- 23. 开发Winform/Wpf/Metro风格应用程序的MVC/MVP框架
- 24. Java Mvc截屏视频和教程?
- 25. 需要Sencha触摸2.0 MVC教程
- 26. mvc 3音乐商店教程:
- 27. Asp.Net MVC教程单元测试
- 28. jQuery与ASP.NET MVC 3书籍/教程?
- 29. 寻找与jQuery MVC 3教程
- 30. MVC/MVP/MVVM到底是什么?
随着源代码的练习,单元测试还包括解释其好处 - http://www.advertisingmarket.co.uk/MVPPattern – 2015-12-05 00:14:34