如果我不将我的应用程序拆分为不同的模块(否则我会认为Prism肯定是正确的选择),那么我应该使用Prism吗?
我知道Prism提供了方便的ICommand
实现(我自己可以在一页代码中完成),并且提供了IEventAggregator
,但是否所有的Bootstrapper、Shell、ModuleCatalog等都真的有帮助呢?
为什么不仅使用MVVM模式(不使用Prism)来分离您的关注点,以便您的应用程序可以进行测试,这样一切就都搞定了!
对于一个小应用程序,你可能认为这有些大题小做,但即使对于一个小应用程序,你也可以确定一些有用的方面,例如 DelegatedCommand
和 IEventAggregator
(顺便说一下,它们带有弱事件处理,因此实现起来并不完全平凡)。
也许更轻量级的框架可能更合适。我只知道Prism,所以不能发表评论。
然而,我想指出的一点是,小型应用程序通常从小规模开始,然后演变成更大的应用程序。在第一次正确设计中投入相对较少的努力比后期付出巨大(有时甚至是不可能的)的任务来解决问题要好得多。
MVVM Light 是最佳选择....!
对于较小的应用,Caliburn Micro 提供了一个更简单的框架。对我来说,当你需要在应用程序中定义区域时,Prism特别有用。