【发布时间】:2026-01-18 13:50:02
【问题描述】:
我有一个存储库类说调用 FileRepository() 在 C# 托管层中工作。有一个方法调用 LoadRecordFromFile() 访问 C++ 非托管 COM DLL 以加载大量记录,如图:
LoadRecordFromFile()
{
for (uint index = 1; index <= this.File.Count; index++)
{
// create new record object here
}
}
记录对象中的信息稍后将用于生成 AnalysisViewModel 对象。因此,还有另一个 for 循环用于生成 AnalysisViewModel 对象的集合,然后才能在视图中用于显示。
问题在于第二个 for 循环使用了大量的加载时间。我试图通过在 LoadRecordFromFile() 中使用一个 for 循环替换两个 for 循环来优化加载时间。即在 FileRepository 类的 LoadRecordFromFile() 中的 for 循环中一起创建记录对象和 AnalysisViewModel() 对象。然而它打破了存储库设计模式的封装。 请有人建议如何重新设计两个类(AnalysisVeiwModel 和 FileRepository)以实现仅使用一个 for 循环来减少文件加载时间?谢谢
【问题讨论】:
标签: c# design-patterns mvvm repository-pattern