隱式鎖定
作者 David Rice
允許架構或層級超類型程式碼取得離線鎖定。
完整說明請參閱 EAA 的 P 第 449 頁
任何鎖定機制的關鍵在於使用上沒有任何間隙。忘記撰寫單一行取得鎖定的程式碼,可能會讓整個離線鎖定機制失效。未能在其他交易使用寫入鎖定的情況下擷取讀取鎖定,表示您可能無法取得最新的工作階段資料;未正確使用版本計數可能會導致在不知情的情況下覆寫他人的變更。一般來說,如果某個項目可能在任何地方被鎖定,則必須在所有地方都將其鎖定。忽略其應用程式的鎖定策略,會讓商業交易產生不一致的資料。不釋放鎖定不會損毀您的記錄資料,但最終會讓生產力停擺。由於離線並行管理很難測試,因此所有測試套件都可能無法偵測到此類錯誤。
一種解決方案是不允許開發人員犯下此類錯誤。不可忽視的鎖定工作不應由開發人員明確處理,而應由應用程式隱式處理。大多數企業應用程式會使用架構、層級超類型 (475) 和程式碼產生的一些組合,這讓我們有充足的機會來促進隱式鎖定。