我一直想知道如何處理應用程序中的文件。假設我們有一個對象,其中包含有關文件的多個數據,如UUID和對磁盤上文件的引用。如何在應用程序中正確處理對文件的引用?
即使此對象是不可變的,也可能有副作用,例如文件將被應用程序的一部分刪除,但其他人不知道它,導致對象無法使用。
是否有一個方便的模式,我可以用於這種情況?或者每次使用文件引用實際指向現有文件的對象時,都必須仔細檢查?這可能是唯一的解決方案,因爲文件可以從應用程序外部刪除,但可能會使應用程序處於難以處理的狀態。
問題存在另一種方式:誰負責刪除文件?由於對象可能是一個普通的值對象,它可能會被系統的其他部分引用,代碼中的任何部分都不能刪除文件以進行清理,以避免副作用...
但是可能存在模式或政策可以用來緩解這種情況下的處理。
我知道如何處理這些情況,我正在尋找更多的設計方法來分配系統內的文件引用。很難解釋什麼時候英語不是你的母語。 : - / – Malax 2009-09-17 15:05:58