Silverlight MVVM vs Prism

Silverlight MVVM vs Prism,mvvm,silverlight-4.0,frameworks,prism,Mvvm,Silverlight 4.0,Frameworks,Prism,我是Silverlight的新手。我正在开始一个新的项目,我想使用现有的模式,如MVVM和 谁能告诉我哪种模式更适合哪种类型的场景。请问哪一种主要用于Silverlight,MVVM是一种模式,PRISM是一种可用于实现MVVM的框架。要开始使用Silverlight和MVVM,我建议先看看Light。PRISM框架最适合用于大型模块化项目,尤其是在开发可能跨越团队的情况下。它提供了非常松散的耦合,允许完全独立地开发模块,这些模块可以单独下载或按需下载 MVVM是一个完全独立的问题,可以用于大多

我是Silverlight的新手。我正在开始一个新的项目,我想使用现有的模式,如MVVM和


谁能告诉我哪种模式更适合哪种类型的场景。请问哪一种主要用于Silverlight,MVVM是一种模式,PRISM是一种可用于实现MVVM的框架。要开始使用Silverlight和MVVM,我建议先看看Light。

PRISM框架最适合用于大型模块化项目,尤其是在开发可能跨越团队的情况下。它提供了非常松散的耦合,允许完全独立地开发模块,这些模块可以单独下载或按需下载

MVVM是一个完全独立的问题,可以用于大多数框架。它基本上是一种模式,通过提供视图绑定所针对的中间对象,将视图与支持数据分离。这种分离允许对数据对象和业务逻辑进行单独的测试,而不会将视图与大量代码捆绑在一起


MVVM是“最常见的”,因为它出现在包括PRISM在内的多个框架中(甚至是没有框架的普通Silverlight)。PRISM需要学习和实现几个数量级的工作,但在大型项目上值得付出努力。

PRISM是一个框架,MVVM是一种设计模式。因此,您可以在Silverlight应用程序中同时使用PRISM和MVVM。

远远超过MVVM,它提供了许多现成的特性/基类,您必须在自定义MVVM实现中自行实现这些特性/基类;Prism提供了解决SL或WPF应用程序中遇到的各种问题/场景的标准方法(
EventAggregator
、导航框架、命令等)

我同意其他答案-

Prism适用于将被维护/改进的大规模应用 多年来,许多开发商都在努力

MVVM更适合于需要一次性快速开发的轻量级应用程序。尽管如果您想要灵活性,您可以开发自己的MVVM框架或使用可用的框架(如MVVM light等)

再看看我问的关于棱镜的这个问题-
我在一个项目中使用了MVVM和Prism。而且我是一个人编码的,我两个都喜欢。帮助我对项目进行概述

Prism和MVVM完美地结合在一起。Prism的区域管理器让我将视图分成几个部分,而控制器/微核(我使用的是Microsofts Unity,而不是Prism框架的一部分)帮助我保持各个部分的紧密耦合。还有更多

我有大约4万行代码,我坚信使用Prism框架和MVVM为我节省的时间比我花费的要多。但一开始需要一点时间

关于MVVM的阅读技巧:

乔希·史密斯对我帮助很大。以下是一篇文章:

如果德语对你合适的话,几个月前我正在读一篇dotnetpro的文章。这正是一些问题,我花了很长时间才弄明白:“Jörg Neumann/Flexibler Standard/dotnetpro 04/2012”

对于Prism,我真的不记得了,但这并不难。我不会说使用棱镜是一件困难的事情。MVVM在细节上要复杂得多。但我无法想象没有它,如何编写WPF应用程序


希望有帮助

我可以看到,关于什么是MVVM和Prism,我们已经有了很多答案。如上所述,MVVM是一种模式,它可以帮助您编写更清晰的“几乎没有代码隐藏”UI,Prism是帮助您实现这一目标的框架之一。但要使用MVVM模式,您不必使用任何框架(如Prism),但如果您使用,它们将为您提供一些启动。你甚至可以试着自己写

对于学习Prism和Silverlight,我也很幼稚,但在过去几天的网络教程中,我可以说,Prism是一个框架,不适合小型应用程序。 因此,对于创建小型应用程序,最好使用MVVM模式,因为当您使用Prism时,这将是一种浪费,但是如果您认为您的应用程序可以同时开发,那么使用Prism将是一个好主意。
尽管Prism也将MVVM实现为设计模式之一。

MVVM是一种模式,您可以使用Prism框架来实现它。还请记住,如果您将任何代码放在codebehind中,那么您就是在破坏模式。如果要单独执行任何特定的检查或操作,请通过添加从Converter类派生的类来使用Converter属性(例如:如果要在网格/面板上使用动画等)