Rejestr

Oto nieformalna definicja rejestru:

Ale:

Warto jednak zapoznać się z tymi zajęciami, by móc z Tink na razie.

Co się stanie, gdy wywołasz funkcję getPrimitive() za pomocą uchwytu zestawu kluczy? Przekazuje ono do rejestru1, który zawiera obiekty z konkretnymi metodami tworzenia i elementy podstawowe, takie jak Klucz AesGcm lub instancja ChunkedMac. Zadaniem rejestru jest przekazywanie połączenia do właściwego obiektu. Działa to tylko wtedy, gdy obiekt jest zarejestrowany. elementy podstawowe, których będziesz używać, musisz zawsze rejestrować.

Co jednak, jeśli używam biblioteki, która zarejestrowała już potrzebne elementy podstawowe?

Właśnie na tym polega problem. i jedną z przyczyn usunięcia rejestru. Ponieważ w tym przypadku kod działa tylko do momentu, gdy autorzy biblioteki zdecydują się nie rejestruje już tego elementu podstawowego. W tym momencie kod ulega uszkodzeniu, jest nieoczywiste i mylące. Dlatego zawsze rejestruj to, . Na przykład jeśli chcesz używać w kodzie Java kodu MAC, wykonaj te informacje na etapie konfiguracji:

MacConfig.register()

Ten kod gwarantuje, że wszystkie niezbędne obiekty są zarejestrowane w niezbędnych miejsc w celu korzystania z podstawowego MAC.

To jeszcze jedna strona tego problemu. Niektóre zależności mogą zostać zarejestrowane rzeczy, które są Ci niepotrzebne i od których nie chcesz polegać. To jest to kolejny powód usunięcia globalnego rejestru.


  1. do globalnej instancji klasy singleton rejestru klasy. Używamy nazwy „Rejestr”. zarówno dla klasy, jak i dla singletonu, zamiennie.