قاعدة بيانات المسجّلين

في ما يلي تعريف غير رسمي للسجل، بدءًا من الأساسيات:

مع ذلك:

ومع ذلك، قد يكون من المفيد فهم هذا الفصل للعمل مع Tink بكفاءة في الوقت الحالي.

ماذا يحدث عند الاتصال بـ getPrimitive() على اسم معرِّف لمجموعة المفاتيح؟ ويعيد توجيه مكالمتك إلى قاعدة بيانات المسجّلين1، التي تتضمّن عناصر ذات طرق ملموسة لإنشاء مفاتيح وبيانات أوّلية، مثل مفتاح AesGcm أو مثيل ChunkedMac. تتمثل مهمة السجل في إعادة توجيه الاستدعاء إلى الكائن الصحيح. لن تعمل هذه الطريقة إلا إذا كان الكائن مسجّلاً، ولهذا السبب من المهم دائمًا تسجيل الأساسيات التي ستستخدمها.

لكن ماذا لو استخدمت مكتبة سجّلت بالفعل الأساسيات الأساسية التي أحتاجها؟

هذه هي المشكلة بالضبط. ومن بين أسباب إزالة قاعدة بيانات المسجّلين. لأنه في هذه الحالة تعمل التعليمة البرمجية فقط حتى يقرر مؤلفو المكتبة عدم تسجيل ذلك النموذج الأساسي بعد الآن. في هذه المرحلة، تتعطل التعليمة البرمجية، والسبب غير واضح ومربك. لذلك يجب تسجيل المحتوى الذي تستخدمه دائمًا. على سبيل المثال، إذا كنت تنوي استخدام MAC في رمز Java البرمجي، عليك تنفيذ ما يلي في مرحلة الإعداد:

MacConfig.register()

يضمن هذا الرمز تسجيل جميع الكائنات الضرورية في الأماكن الضرورية لك لاستخدام عنوان MAC الأساسي.

هناك جانب آخر لهذه المشكلة. قد تسجل بعض تبعياتك أشياء لا تحتاجها بالفعل وتفضل عدم الاعتماد عليها. وهذا سبب آخر لإزالة السجل العالمي.


  1. على مثيل المفرد العام لفئة السجل، على وجه الدقة. ونستخدم الاسم "Registry" لكل من الفئة، وسينغلتون، بالتبادل.