Kayıt otoritesi

Temel bilgilerden başlayarak Tescil'in gayriresmi bir tanımını aşağıda bulabilirsiniz:

Ancak:

Bununla birlikte, şimdilik Tink'le verimli bir şekilde çalışmak için bu dersi anlamanız yararlı olabilir.

Bir tuş kümesi tanıtıcısında getPrimitive() çağırdığınızda ne olur? Çağrınızı, AesGcm anahtarı veya ChunkedMac örneği gibi anahtar ve temel öğeler oluşturmak için somut yöntemlere sahip nesneler içeren Kayıt Otoritesine1 yönlendirir. Kayıt otoritesinin görevi, çağrıyı doğru nesneye yönlendirmektir. Bu yalnızca nesne kayıtlıysa işe yarar. Bu nedenle, kullanacağınız temel öğelerin her zaman kaydedilmesi önemlidir.

Peki, ihtiyacım olan temel öğeleri zaten kaydettirmiş bir kitaplık kullanırsam ne olur?

Sorun da tam olarak bu. Kayıt otoritesinin kaldırılmasının nedenlerinden biri de. Çünkü bu durumda, kodunuz yalnızca kitaplık yazarları söz konusu temel öğeyi artık kaydetmemeye karar verene kadar çalışır. Bu noktada kodunuz bozulur ve neden açık ve kafa karıştırıcı olur. Bu nedenle her zaman kullandıklarınızı kaydedin. Örneğin, Java kodunuzda MAC kullanmayı planlıyorsanız kurulum aşamasında aşağıdakileri yapmanız gerekir:

MacConfig.register()

Bu kod, temel MAC adresini kullanmanız için gerekli tüm nesnelerin gerekli yerlere kaydedilmesini sağlar.

Bu sorunun bir tarafı daha var. Bağımlılıklarınız arasında, aslında ihtiyaç duymadığınız ve aslında güvenmemeyi tercih ettiğiniz şeyler bulunabilir. Bu, genel Kayıt otoritesinin kaldırılması için bir başka nedendir.


  1. Registry'nin global tekil örneğine bağlayacağım. "Kayıt Otoritesi" adını ise hem sınıf hem de tekli için birbirinin yerine kullanıyoruz.