Co to jest Bootstrapper w programowaniu?

15

Czasami widzę termin „Bootstrapper”. Widziałem to ostatnio, tworząc kilka ćwiczeń do nauki dla Pryzmatu. Natknąłem się na UnityBootstrapperklasę. Moje pytanie brzmi: kiedy nazwałbyś klasę „Bootstrapper”? Dlaczego? Co to mówi o klasie?

Ioan Paul Pirau
źródło

Odpowiedzi:

22

W twoim konkretnym przykładzie mówisz o Bootstrapper kontenera wstrzykiwania zależności. W tym miejscu konfigurujesz wszystkie instancje i generalnie przygotowujesz kontener do użycia.

Skończyło się to również miejscem, w którym znajduje się większość sprzężenia w twojej aplikacji (musi gdzieś rezydować), ale jest to efekt uboczny, a nie cel.

Mówiąc bardziej ogólnie, bootstrapper to po prostu klasa lub metoda, która przygotowuje / konfiguruje grupę klas / obiektów lub cały interfejs API do twoich konkretnych potrzeb i zastosowań.

Potok
źródło
11

W ogólnym znaczeniu w EL & U.SE istnieje doskonała odpowiedź na pytanie: Co oznacza „bootstrap”? :

Bootstrap odnosi się do procesu, który jest podobny do podnoszenia się przez bootstrapy . Chodzi o to, że fizycznie nie można się podnieść, pochylając się i próbując „podnieść”.

Bootstrapping odnosi się do robienia dokładnie tego, ale w sposób analogiczny do fizyki. Informatyka jest najczęstszym obszarem, w którym słyszę ten termin. Program, który sam się ładuje , to taki, który zaczyna się od niezwykle trywialnej operacji, a następnie używa go do wewnętrznego uruchomienia procesu uruchamiania. W ścisłym tego słowa znaczeniu program potrzebuje pomocy na pierwszym etapie, ale kiedy to nastąpi, nie potrzebuje żadnej pomocy zewnętrznej.

Jako taka, UnityBootstrapperlogicznie byłaby to klasa, która pozwala twojej aplikacji na podnosić się za pomocą bootstrapów , potwierdzenie potwierdzone przez stronę MSDN dla tej klasy.

Klasa podstawowa zapewniająca podstawową sekwencję ładowania, która rejestruje większość zasobów Biblioteki aplikacji złożonych w IUnityContainer.

Uwagi: Ta klasa musi zostać przesłonięta, aby zapewnić konfigurację specyficzną dla aplikacji.

Mark Booth
źródło
2

W terminologii niskiego poziomu program ładujący to fragment kodu ładowany podczas uruchamiania, który konfiguruje pamięć i środowisko przed uruchomieniem punktu wejścia systemu operacyjnego.

Paul Nathan
źródło
1

Zwykle oznacza to coś, co przy minimalnym zestawie danych tworzy kompletny obiekt. Na przykład YieldCurveBootstrapper pobiera notowania rynkowe (stopy depozytowe, stopy swap itp.) I buduje skalibrowaną krzywą dochodowości.

quant_dev
źródło