Prism应用的是MVP还是MVVM?

adultsite 2010-06-28 10:16:03
rt.
...全文
240 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
adultsite 2010-07-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 keenling 的回复:]

以上好多人说的都不太对。其实Prism模式和MVVM也好MVP也好是没有关系的,MVP,MVVM侧重于UI表现层和逻辑层以及低层的层次分离,也就是横着切,而Prism解决的是模块之间的独立和组合的问题,也就是竖着切。横切是竖切是不冲突的。实际情况下Prism和MVVM或者MVP是组合使用的。比如微软自己给Prism写的那个Sample程序StockTradder就是Prism和MVP的配合,但既……
[/Quote]
听说Prism v.4好像要用MEF替代Unity, 而且整个实现都会向MVVM靠, is it true?
keenling 2010-07-21
  • 打赏
  • 举报
回复
以上好多人说的都不太对。其实Prism模式和MVVM也好MVP也好是没有关系的,MVP,MVVM侧重于UI表现层和逻辑层以及低层的层次分离,也就是横着切,而Prism解决的是模块之间的独立和组合的问题,也就是竖着切。横切是竖切是不冲突的。实际情况下Prism和MVVM或者MVP是组合使用的。比如微软自己给Prism写的那个Sample程序StockTradder就是Prism和MVP的配合,但既然用了WPF/Silverlight,推荐还是用MVVM.
adultsite 2010-07-20
  • 打赏
  • 举报
回复
现在的我理解是Prism的目的是composite app. 那么其实它用MVP也好,Presentation Model也好, MVVM也好,其实这些并不是关键,关键是怎样实现Composition. 就像谁说的,Prism仅仅是个建议,并不是很苛刻的标准。具体实现上用Presentation Model,MVVM都可以。

以目前的了解,我不知道比较抽像的Bootstrapper, Shell, Region,Module等是Prism的部分,还是它默认使用的Unity DI Container的部分。我感觉DI Container在Prism里扮演了很重要的角色,Module之间的通信用EA(Event Aggregator)。。。

通过Prism可以做到:
静态加载Module,
通过配置文件加载Module,
和扫描地个指定目录,加载目录内的Module等。

目前为止,我觉得模块化(modularity)才是Prism的核心,而不是具体的模块用什么模式实现。


mengKzhaoyun 2010-06-30
  • 打赏
  • 举报
回复
框架在心中就好无视那些动态库吧
nanhe0065 2010-06-30
  • 打赏
  • 举报
回复
MVP is a variation of the MVC pattern. The view relies on a Presenter to populate it with model data, react to uer input, provide input validation(perhaps by delegating to the model), and other such task.

Presentation Model(PM) is similar to MVP in that it separates a view from its behavior and state. The interesting part of the PM pattern is that an abstraction of a view is created, called Presentation Model. A view, then ,becomes merely a rendering of a Presentation Model. The Presentation Model frequently updates its View, so that the two stay in sync with each other. That synchronization logic exists as code in the Presentation Model class.

MVVM is identical to Presentation Model, in that both patterns feature an abstraction of a View, which contains a View's state and behavior. Martin Fowler introduced Presentation Model as a means of creating a UI platform-independent abstraction of a View, whereas John Gossman introduced MVVM as a standardized way to leverage core features of WPF to simplify the creation of user interfaces. In that sense, I consider MVVM to be a specialization of the more general PM pattern, tailor-made for the WPF and Silverlight platforms.

jv9 2010-06-29
  • 打赏
  • 举报
回复
PRISM是独立的框架,其中运用的是MVVM的思路,一些方法和MVVM模型很相似,但是不是绝对的MVVM模型。

MVP模型使用在PRISM中比较生硬,其中就类库共享而言,就很难实现,无论是WPF和SILVERLIGHT,对于MVP模型的应用都不是很好。
sjyanxin 2010-06-28
  • 打赏
  • 举报
回复
MVVM

http://compositewpf.codeplex.com/releases/view/46046

这里有。
教程:http://blog.csdn.net/clingingboy/archive/2009/01/06/4612605.aspx
http://www.fengfly.com/plus/view-171065-1.html
adultsite 2010-06-28
  • 打赏
  • 举报
回复
Microsoft.Practices.Composite.dll
Microsoft.Practices.Composite.Presentation.dll
Microsoft.Practices.Composite.UnityExtensions.dll
Microsoft.Practices.Unity.dll
Microsoft.Practices.ObjectBuilder2.dll
Microsoft.Practices.ServiceLoacation.dll

这样的dll去哪里找啊? 为什么我不能'一下子'找到它们? 这些Prism用到的基本dll有没有直接打包下载的地方?
老Key 2010-06-28
  • 打赏
  • 举报
回复
mvp

8,737

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧