在大学期间和关注SO的发展过程中,我听说了很多关于模型-视图-控制器(MVC)架构设计模式的内容。即使在不知道它是什么之前,我也无意中使用了MVC模式,并在我的日常工作中继续使用它。从我所看到的情况来看,它可能是当今最流行的模式。但是,我很少听说与MVC替代模式相关的内容。有哪些选项?出于什么原因会选择它们而非MVC?我也想知道它们通常用于哪种类型的系统。最后,使用它们的优缺点是什么?
在大学期间和关注SO的发展过程中,我听说了很多关于模型-视图-控制器(MVC)架构设计模式的内容。即使在不知道它是什么之前,我也无意中使用了MVC模式,并在我的日常工作中继续使用它。从我所看到的情况来看,它可能是当今最流行的模式。但是,我很少听说与MVC替代模式相关的内容。有哪些选项?出于什么原因会选择它们而非MVC?我也想知道它们通常用于哪种类型的系统。最后,使用它们的优缺点是什么?
我个人最喜欢的是被动视图。比我看到的其他模式(包括MVC)更易于测试。
嗯,有Model-View-Presenter的模式,但我认为你会发现最常见的“替代”MVC的方式实际上是缺乏适当的分离。作为一个极端的例子,考虑经典ASP页面,在同一文件中同时包含HTML、VBScript和SQL。(这不是对ASP的攻击——在其他语言中也会找到许多这样的例子。)
这个内容有点过时了。我想再提一下一个(为了增加额外的知识信息),它叫做PresenterFirst模式
以下是更多相关信息:
http://en.wikipedia.org/wiki/Presenter_First
http://www.atomicobject.com/pages/Presenter+First
希望对你有所帮助。
这是一组面向程序设计的模式,称为Presentation-Abstraction-Control(PAC)模式家族。在这个家族中,接口/交互由代理层级处理。
维基百科上的文章并不是很好 http://en.m.wikipedia.org/wiki/Presentation-abstraction-control
你可以使用当前的ASP.NET框架自己编写MVC,并仍然保持postback模型。
http://www.codeproject.com/KB/aspnet/RollingYourOwnMVCwithASP.aspx