我在互联网上的某处读到,ASP.net通过其代码隐藏页面技术自动实现MVP模式。任何人都可以告诉我为什么当我看不到任何Presenter类时它被视为实现MVP模式?
答案 0 :(得分:1)
ASP.NET Web窗体,假设Web窗体具体是问题所针对的,并未明确实现MVP。它被识别为MVP,因为与ASP.NET MVC相比,MVP是描述平台运行和行为方式的最简单方法。
它被描述为MVP,因为页面的代码隐藏在整体上管理应用程序逻辑。页面的代码隐藏管理视图通常是最细粒度的级别,它管理应用程序流,并直接管理数据。然而,对于例如MVC,视图更直接地与模型相关联,并且中间件仅需要允许模型和视图“握手”。在模型中维护业务逻辑,由视图管理用户交互,并且控制器管理应用程序流而不消耗基本的应用程序逻辑。这些差异允许通过交换控制器和模型来更加可测试视图,并且可以通过交换控制器和视图来测试模型及其业务逻辑。
答案 1 :(得分:1)
不,ASP.NET本身不提供任何类型的表示/视图分离。但是,可以将标准的WinForms样式MVP模式应用于ASP.NET页面。这是一个例子:
http://www.codeproject.com/KB/architecture/ModelViewPresenter.aspx
您还可以查看ASP.NET MVC。
答案 2 :(得分:0)
你误解了你所读的内容。 ASP.NET没有实现任何这样的模式。