在大学期间,通过跟踪SO的发展,我听说了很多关于Model-View-Controller架构设计模式的事情。甚至在我知道MVC模式是什么之前,我就无意中使用了MVC模式,并且仍然在我的日常工作中使用它。据我所知,这可能是当今使用的最流行的模式。然而,我没有听说太多的是你可以用来代替MVC的替代模式。有哪些选项,出于什么原因,您会决定使用它们而不是MVC?我也有兴趣了解它们通常用于的系统类型。最后,使用它们的利弊是什么?
发布于 2008-08-23 19:03:07
http://martinfowler.com/eaaDev/PassiveScreen.html
我个人最喜欢的是被动视图。比我见过的其他软件更具可测试性,包括MVC。
发布于 2010-07-02 16:35:54
其他一些架构模式,包括MVC。
分层系统
TCP/IP
面向对象的组织
模型-视图-控制器,表示-抽象-控制,模型视图呈现器和模型视图ViewModel。
例如ASP.NET的MVC、Ruby on Rails等。
基于事件的隐式调用
浏览器环境(DOM)
管道和过滤器架构
Unix管道
存储库
表驱动解释器
你也可能会发现Garlan & Shaw关于软件架构的this paper是一本不错的读物。
另一个值得注意的链接是Wikipedia上关于架构模式的文章。
发布于 2008-08-23 19:08:13
我偶尔会看到没有C的MVC,视图监听模型数据的更改并相应地更改呈现,模型中的方法被绑定到视图的事件处理程序。
对于视图必须与数据紧密耦合的项目(例如,当存在与模型或模型属性直接相关的可视组件时),这可能相当有用,因为它省去了“中间人”。
我想许多人会争辩说,这仍然是MVC,只是一个混合版本,视图和模型之间建立的绑定是控制器逻辑。
https://stackoverflow.com/questions/24496
复制相似问题