2

我正在为少数 WPF/C# 应用程序最终确定 MVVM UI 框架,预计我们将启动该框架。只是为了传达这个想法,这些应用程序通常可以根据一些可量化的权重(例如屏幕总数等等)分为小/大。

我想建议小型的Caliburn Micro和大型的PRISM。这背后的基本原理是避免使用重量级的框架,因为这些应用程序是低延迟系统(有时间限制),我试图缩短所有的角落,这太过分了。

但这就是我卡住的地方,因为单个类别极有可能被提升或减少到其他类别。在这种情况下,我最终可能会为大型应用程序(当我们将类别从小到大提升)或针对小型应用程序(当我们将类别从大到小)减少时使用大型框架。我不太有信心采用我的方法(两种不同类型的框架),因为我依赖两种不同的框架来实现这一点,而没有切换的灵活性。

问题:是否有任何框架可以弹性卸载我的应用程序中不需要的组件?

4

2 回答 2

7

如果您不使用所有大型框架,则不一定会减慢您的速度。此外,如果您没有正确使用它,任何框架都会减慢您的速度。过去我在使用 Caliburn Micro 时遇到过可怕的速度问题,因为我做错了事情——当你做对了事情时,它们就会消失,但当然我们都会犯错误。

为不同类别的应用程序使用两个不同的框架听起来像是一场等待发生的灾难。正如您已经意识到的那样,有些东西会改变类别,而改变框架是一个非常耗时的过程,即使在可以想象的最佳结构代码中也是如此。选择一个并将其用于所有用途,除非您有令人信服的证据表明它不适合特定目的。就我个人而言,我真的很喜欢 ReactiveUI,它相当不寻常,但确实比 Caliburn 更容易让事情变得正确。

无论您使用什么,您都必须非常非常小心地使用 WPF,以确保它满足您对显示时间的要求,并使用异步函数进行大量工作以保持 UI 线程可用于呈现。

于 2013-06-14T12:18:19.443 回答
2

我认为没有充分的理由像您建议的那样使用不同的框架。选一个,好好了解一下

我们有望开始

除非开发人员已经熟悉 MVVM,否则我实际上不认为有任何框架可以让你开始。MVVM 需要很好地理解,但对于复杂的应用程序来说是一个很好的模式。

问题:是否有任何框架可以弹性卸载我的应用程序中不需要的组件?

只需不要加载您不使用的组件。这些框架默认不加载繁重的组件。

于 2013-06-14T12:20:11.920 回答