Which MVVM framework is the best framework for WPF apps
我是WPF的初学者。 在使用WPF最好地开发大型项目之前,我需要使用WPF的开源/免费MVVM框架,因此请告诉我哪种MVVM框架是WPF应用程序的正确选择,我可以借助它开发非常有吸引力的UI 适用于企业应用程序,并且附带了很好的教程和大量示例代码,使您可以熟悉框架的流程。 请详细讨论。 谢谢。
有许多流行的开源MVVM框架。
可能最受欢迎的三种是MVVM Light,Caliburn或Prism(从v4开始,支持并提供MVVM的示例)。这三个都有优点和缺点,并且都很好。
正如Microsoft模式和实践小组推出的那样,Prism确实具有成为" Microsoft"(赞助)产品的优势。这倾向于帮助许多大型企业采用。话虽这么说,它也比其他流行的选项更大,更复杂,特别是因为它的目标不仅仅是成为" MVVM框架",而且是用于复合应用程序开发的通用库。
I am beginner for WPF.
我还以为我要提到-在选择框架之前,我将花费一些时间来真正地学习和理解MVVM。我编写了一系列文章,以帮助从Windows Forms到MVVM过渡到WPF,这可能很有价值。
通常,在您了解框架真正完成之前,很难选择一个框架。无需任何框架,大多数MVVM都可以非常轻松地完成。"框架"添加了一些实用程序,这些实用程序使MVVM开发的某些难点更加容易处理-例如,MVVM Light具有出色的Messenger类,可帮助ViewModel之间进行通信,这有时可能很棘手。 Caliburn有一些很棒的工具可以帮助提高设计性,等等。但是,除非您了解基础知识,否则选择工具箱实际上可能会使您的生活更加复杂,而不是简单。
这个问题确实很难客观地回答,因为什么对您来说最好取决于您的要求和偏好。我自己使用了两个框架,所以我可以谈谈。
MVVM Light Toolkit是最受欢迎的MVVM框架之一,它是一种通用框架,可让您以所需的方式构建应用程序。它为解决MVVM应用程序构建过程中的一些主要难题提供了帮助,但仍然需要您自己编写许多样板代码。这对于新的WPF开发人员来说可能是个好主意,因为它不会隐藏太多的WPF基础结构。
我个人最喜欢的是Caliburn.Micro,它是一种针对WPF,Silverlight和Windows Phone 7的自以为是的MVVM框架。它使用了约定优于配置的方法,从而使您不必编写许多枯燥乏味的管道代码。这也意味着它需要您同意框架的意见-如果您不遵守框架的约定,那么您将在艰苦的战斗中努力使一切正常。
Caliburn.Micro也具有工作的质量,如果您不太了解幕后的情况,那么事情似乎有些不可思议。只要一切正常,那就太好了。但是,当他们不这样做时,或者您需要做框架未设计的某些工作时,您将需要对WPF有充分的了解才能找到自己的方向。
您需要评估不同框架和工具包的功能,然后自己决定。
也许为了品尝MVVM,您根本不需要使用任何库?实现基本内容很容易(DelegateCommand和类来引发属性通知-就是您所需要的一切),但这将帮助您在不引入任何库的情况下理解MVVM。在实现过程中可能会遇到一些障碍,并且您将不得不自己解决此问题,而无需任何第三方库。我相信这可以帮助您详细了解MVVM模式(当然,如果您有很好的指导),但无需介绍库提供的详细信息。
也许我是车轮发明家,但是我仍然根本不使用任何MVVM库。我只是看不到他们可以提供什么伟大的东西,以便将另一个库引入项目中。通常,实现MVVM所需的基本内容不需要花费很多,但是最后您会收到高度灵活的代码(因为所有代码都是您自己的)。