在经历大学和跟踪SO的发展时,我听到了很多关于模型 - 视图 - 控制器架构设计模式的知识.我甚至在我知道它之前就无意中使用了MVC模式,并且仍然在我的日常工作中使用它.从我所看到的,它可能是今天使用的最流行的模式.然而,我没有听到太多关于可以使用的替代模式而不是MVC.有哪些选项,以及您决定在MVC上使用它们的原因是什么?我也有兴趣了解它们常用的系统类型.最后,使用它们的优点和缺点是什么?
被动视图 - http://martinfowler.com/eaaDev/PassiveScreen.html
监督控制器 - http://martinfowler.com/eaaDev/SupervisingPresenter.html
Model-View-Presenter - http://martinfowler.com/eaaDev/ModelViewPresenter.html
我个人最喜欢的是被动视图.比我见过的其他人更容易测试,包括MVC.
其他一些架构模式包括MVC.
分层系统
TCP/IP
面向对象的组织
模型 - 视图 - 控制器,演示 - 抽象 - 控制,模型视图演示器和模型视图ViewModel.
例如ASP.NET的MVC,Ruby on Rails以及其他一些.
基于事件,隐式调用
浏览器环境(DOM)
管道和过滤器架构
Unix管道
库
表驱动口译员
你也可以在Garlan&Shaw的软件架构中找到这篇论文.
另一个值得注意的链接是关于维基百科的架构模式的文章.