Software Design - Concept - Object Lifecycle Management
Quick Chat
物件生命週期管理(Object Lifecycle Management)是程式設計中的一個重要概念,它指的是有效控制和管理一個物件從建立、使用到銷毀的整個過程。良好的生命週期管理不僅能提升應用程式的效能,還能提高程式碼的可維護性,並有效地利用系統資源。
Stage
建立(Creation)
物件被初始化並在記憶體中生成。在這個階段,程式碼通常會執行建構函式,完成必要的設定,或注入所需的依賴項。
使用(Usage)
物件處於活躍狀態,執行其核心功能。這段期間,應用程式會不斷地呼叫物件的方法,讀取或修改其屬性,處理各項業務邏輯。
銷毀(Destruction)
當物件不再被需要時,系統會回收其所佔用的資源。這個過程通常涉及垃圾回收機制(Garbage Collection),並釋放如檔案連線、資料庫連線等外部資源,避免資源洩漏。
Lifetime
瞬時(Transient)
這種模式下的物件是一次性的。每次需要時,系統都會建立一個全新的實例。它特別適合那些不帶有狀態(Stateless)或只在短期內使用的物件,確保每次呼叫都是一個獨立乾淨的實體。
單例(Singleton)
顧名思義,在整個應用程式的執行期間,只會建立一個單一的實例。所有對該物件的請求都會共用同一個實體。這種模式常用於管理全域性資源,例如設定檔、日誌記錄器或資料庫連線池等。
範圍(Scoped)
這是一種介於瞬時和單例之間的模式。物件的生命週期被限制在一個特定的作用範圍內,例如一次 HTTP 請求或一個獨立的執行單元。在該範圍內,該物件都是唯一的;但當範圍結束時,該物件就會被銷毀。這種模式非常適合在單次請求中共享狀態,同時又確保不同請求之間不會互相干擾。