登錄檔

從基本概念開始,以下是 Registry 的非正式定義:

但是:

儘管如此,瞭解這個課程的原理或許會有幫助 目前都能有效率地使用 Tink。

在金鑰組控點上呼叫 getPrimitive() 時會發生什麼事?它會將您的 呼叫 Registry1,其中包含透過具體方法建立的物件 和原始檔案,例如 AesGcm 金鑰或 ChunkedMac 執行個體。註冊資料庫的工作是將通話 正確的物件這個方法只有在已註冊物件時才有效,因此 請務必一律登錄要使用的原始項目

但如果我使用的程式庫已註冊我需要的基本功能,該怎麼辦?

這就是問題所在。而移除 Registry 是其中一個原因。 因為在這個範例中,您的程式碼僅適用於程式庫作者決定 不再登錄該基元了現在程式碼會中斷 而且不會造成混淆因此只要註冊資料 使用方式。舉例來說,如果您要在 Java 程式碼中使用 MAC,請 下列項目:

MacConfig.register()

這個程式碼能確保所有必要物件皆已在 這些必要位置可讓您使用 MAC 原始版本。

這個問題還有一個層面。某些依附元件可能會註冊 並不想依賴這是 基於其他原因而移除全域註冊資料庫。


  1. 更精確地說,我們使用「Registry」這個名稱無論是類別還是單例模式,都能交替使用