我有一个WPF应用程序,其中大部分 View 不会每天使用-想想维护窗口。我的想法是将这些窗口的 View 和 View 模型移动到单独的程序集中,仅在其中一个窗口显示时才加载它们,这将缩短启动时间并减少应用程序的内存占用。
首先,这是合理的做法吗?
如果是这样,实现此目标的最佳“Catel”方法是什么?我可以使用MEF,但它似乎不支持延迟即装即用地加载程序集。在构建目录时,它将加载程序集。 Unity是否允许延迟加载?卡特尔的ServiceLocator/DependencyResolver吗?
最佳答案
无需“延迟加载”具有 View 的程序集,因为Catel不会预加载 View 。 Catel将在需要时延迟加载 View 并缓存结果。这意味着,第一次加载 View 和 View 模型时,会产生较小的影响(不明显)。
将 View / View 模型放在单独的程序集中的唯一原因是为了分离关注点/使程序集易于管理。
关于wpf - 卡特尔延迟加载包含 View / View 模型的装配体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22415817/