WPF:对于小型应用程序来说,使用Prism是否过于复杂?

14

如果我不将我的应用程序拆分为不同的模块(否则我会认为Prism肯定是正确的选择),那么我应该使用Prism吗?

我知道Prism提供了方便的ICommand实现(我自己可以在一页代码中完成),并且提供了IEventAggregator,但是否所有的Bootstrapper、Shell、ModuleCatalog等都真的有帮助呢?

为什么不仅使用MVVM模式(不使用Prism)来分离您的关注点,以便您的应用程序可以进行测试,这样一切就都搞定了!

3个回答

13

对于一个小应用程序,你可能认为这有些大题小做,但即使对于一个小应用程序,你也可以确定一些有用的方面,例如 DelegatedCommandIEventAggregator(顺便说一下,它们带有弱事件处理,因此实现起来并不完全平凡)。

也许更轻量级的框架可能更合适。我只知道Prism,所以不能发表评论。

然而,我想指出的一点是,小型应用程序通常从小规模开始,然后演变成更大的应用程序。在第一次正确设计中投入相对较少的努力比后期付出巨大(有时甚至是不可能的)的任务来解决问题要好得多。


1
+1 - 几乎写了同样的东西。一个不涉及文件系统、数据库、与任何外部实体通信,也没有任何主要子窗口、页面或功能的小应用程序充其量只是一个“原型”,并且几乎没有什么好处。一旦你开始加入其他东西,Prism 很快就变得非常有用了。 - Matt Jordan

2

MVVM Light 是最佳选择....!


2
你应该解释为什么MVVM Light比Prism更好。 - Johnathon Sullinger

2

对于较小的应用,Caliburn Micro 提供了一个更简单的框架。对我来说,当你需要在应用程序中定义区域时,Prism特别有用。


您还可以将两者结合起来。 - Eduardo Brites

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接