我应该使用Prism开发简单的桌面应用程序吗? C#

时间:2011-04-11 16:28:38

标签: c# wpf desktop-application prism-4

我想继续使用WPF应用程序并转换我的win-form应用程序(转换为WPF)

目前为了获得不错的应用程序,有太多的东西要学习WPF ......

我找到了棱镜: http://msdn.microsoft.com/en-us/library/gg406140.aspx

我相信这可以成为一种捷径,通过简单地添加我的业务逻辑,我可以获得WPF的酷炫功能。

  1. 你是否推荐使用Prism作为WPF初学者?
  2. 在我获得WPF的更多经验后,是否可以删除Prism并构建我自己的UI?

    • 如果您对创建支持多种视图和导航的桌面应用程序有其他想法 - 请告诉我
  3. 感谢。

3 个答案:

答案 0 :(得分:12)

不,Prism是一个位于WPF(或Silverlight)之上的大层。它不会使学习WPF变得更容易,也不会消除学习WPF如何工作的需要。 Prism是一个非常强大的抽象层,可以加速大型企业应用程序的创建/维护 - 但它具有超出WPF学习曲线的陡峭学习曲线。如果您只是构建一个简单的应用程序,请在直接WPF中构建它。你学到的东西可以帮助你以后用Prism构建东西。要真正有效地使用Prism,您需要熟悉WPF开发的许多更复杂的方面,例如绑定,XAML和MVVM设计模式。首先在一个小项目中孤立地学习这些东西,然后你可以更好地将Prism有效地用于更大的未来项目。

答案 1 :(得分:5)

Robert Levy提供的answer是完美的,我会添加一些内容,当您从Windows窗体移动到WPF时,尽量避免使用可在Windows窗体中使用的相同模式。尝试在开始实现之前了解如何使用WPF完成任务。

你可以找到here非常好的资源来学习MVVM模式。

答案 2 :(得分:1)

正如其他答案所暗示的那样,Prism不会简化WPF学习。 Prism更多的是将应用程序划分为模块,并独立开发每个模块。

以下是我的建议:

  • 不要试图学习所有的WPF。您可以使用相对较少的WPF编写出色的业务线应用程序。

  • 学习MVVM模式。 MVVM广泛用于将UI问题与应用程序的后端问题分开。

  • 学习棱镜。它对所有简单的应用程序都很有用。它可以很好地降低WPF应用程序的复杂性,并减少应用程序各部分之间的耦合。一旦掌握了它,它确实使应用程序更易于维护和开发。

有关CodeProject(包括我的)和其他地方的文章可以帮助您开始讨论所有这些主题。