例如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 關注
- 113 瀏覽
添加回答
舉報
0/150
提交
取消