赞
踩
最近在研究MVC和MVP模式,看了很多博文,其中就有这么一篇感觉写的不错的,我 上一篇博文其实就是参考这篇的观点的。
原文地址
出于学习研究以及锻炼一下英语的心态,翻译了这篇文章,有些地方翻译的不太到位,欢迎指出我的问题。
看完这篇再看下MVP框架模式,应该更好
译:
多年来我有辅导很多开发人员去使用设计模式和最佳的实践。一遍又一遍地不断涌现的一个问题是:MVC 和 MVP的区别究竟在哪里?让你惊奇的是答案可能比你想象的更复杂。我认为许多开发人员回避这个问题的其中之一的原因其实是对使用这两种模式区别的混乱。
译:
之前我们深入研究MVC&MVP的区别,以发现其工作原理和使用它们的主要优点。(MVC & MVP)模式已经使用了好几年,解决一个关键面向对象的问题主要就是关注分离UI和业务层。现在有许多框架是基于这些模式拓展的,包括:JAVA Struts, ROR, Microsoft Smart Client Software Factory (CAB), Microsoft Web Client Software Factory,和最近宣布的ASP.Net MVC framework.
译:
MVC模式是一种UI表示模式,着重于从业务层(Model)分离UI(视图)。模式分离旨在三个部分:视图负责渲染UI元素,控制器负责响应用户界面操作,和模型负责业务行为和状态管理。在大多数实现中这三个组件可以直接相互作用和在一些实现中控制器负是责决定哪些视图显示(前端控制器模式),
译:
MVP模式是基于MVC模式的概念的一种UI表示模式。模式把责任分离为四个组成部分:视图负责渲染UI元素,视图接口用于把presenter从View中解耦,presenter负责View和Model之间的交互,以及Model负责业务行为和状态管理。在一些实现中,Presenter与服务(控制器)层进行交互检索/持久化Model。View 接口和服务层一般用于让Prensenter和Model编写单元测试更容易。
译:
在使用任何模式之前,开发人员需要考虑使用它的优点和缺点。使用MVC或MVP模式有很多好处(请参阅下面的列表)。但是,也有一些缺点需要考虑。最大的缺点是复杂性的增加以及学习的难度。虽然这些模式可能不适合做简单的解决方案,但好的解决方案可以大大受益于使用模式。我的经验里已经看到几个解决方案消除了大量的复杂但重构使用模式。
译:
So what really are the differences between the MVC and MVP pattern. Actually there are not a whole lot of differences between them. Both patterns focus on separating responsibility across multi components and promote loosely coupling the UI (View) from the business layer (Model). The major differences are how the pattern is implemented and in some advanced scenarios you need both presenters and controllers.
Here are the key differences between the patterns:
MVP Pattern
MVC Pattern
Hopefully you found this post interesting and it helped clarify the differences between the MVC and MVP pattern. If not, do not be discouraged patterns are powerful tools that can be hard to use sometimes. One thing to remember is that a pattern is a blue print and not an out of the box solutions. Developers should use them as a guide and modify the implementation according to their problem domain.
译:
所以什么才是MVC/MVP模式的真正的区别,事实上这两者没有一个很完全区别。两个模式都迫使程序设计通过多个模块分离职责和促使View层和具体的业务逻辑层(Model)解耦.最主要的区别是模式是怎么实现的,以及在特殊高级的场景里是怎么使用Presenters 和 controllers的。
下面是两者模式关键:
希望你觉得这篇博文是有趣的,也许能帮你看清MVC和MVP模式之间的差异。如果没有,也不要认为这些模式是难以实现的。要记住一个事情,一个模式就是一个蓝图,并且不是一个开箱即用的解决方案。开发人员应该根据自己的问题使用它们作为指导和修改现有的实现方案。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。