例如List<Employee>,我有一个对象列表,列表中的每个员工都将从 .JSON 文件加载。我还需要为List<Employee>我需要创建的新员工创建新实例并更改新实例的属性,因为 JSON 文件为每个员工提供了一个体系结构或工作流基础,我不需要每次需要实例时都从头开始创建的List<Employee>简而言之, 我什么时候需要一个新实例?我应该再次创建List<Employee>和读取 JSON 文件吗?或者我应该使用DeepCloner扩展作为例子吗?用于克隆基础List<Employee>并启动 List 的新实例?此外,json 文件可能稍后会更改。所以克隆人只会使用旧的员工名单!当使用 DeepCloner 扩展从 main 创建超过 10 个实例时,我发现性能很棒List<Employee>。List<Employee>但是通过再次读取相同的 JSON 文件创建一个需要更多时间。什么是好的场景,第一个实例必须从 json 加载,但是第二个和第三个实例呢?它也应该阅读 json 吗?json 可能后来改变了?或者只是做 DeepCloner ?或者如何很好地实现它。关键字: Main List<Employee>:这个 main 必须从 JSON 读取的第一个实例。Mihir Dave回答对我有好处。
1 回答
守候你守候我
TA贡献1802条经验 获得超10个赞
如果我要实现这个,我会做类似下面的事情。
让我们假设 DeepClone 是一种缓存机制。在使用缓存时,您还应该考虑缓存破坏。
那么我们将如何实施呢?
创建一个返回 List 以及两个静态变量的方法
private static List<Employee> globalEmployees = null;
private static DateTime globalFileModifiedTime;
public static List<Employee> GetEmployees()
{}
现在,此方法应该知道何时从文件中读取以及何时使用 DeepCloner。
什么时候不使用 DeepCloner?
什么时候
globalEmployees
为空当全局员工文件修改时间比我们存储的时间更新时
globalFileModifiedTime
注意:每次你从文件中读取,更新globalEmployees
等globalFileModifiedTime
你可以使用 DeepCloner 进行下一个请求
对于任何其他用例,您可以使用 DeepCloner。
- 1 回答
- 0 关注
- 84 浏览
添加回答
举报
0/150
提交
取消