Was ist ein Bootstrapper in der Programmierung?

15

Ich sehe manchmal den Begriff "Bootstrapper". Ich habe es zuletzt gesehen, als ich einige Lernübungen für Prisma erstellt habe. Ich bin über den UnityBootstrapperUnterricht gestolpert . Meine Frage ist: Wann würden Sie eine Klasse einen "Bootstrapper" nennen? Warum? Was sagt es über die Klasse aus?

Ioan Paul Pirau
quelle

Antworten:

22

In Ihrem speziellen Beispiel sprechen Sie von einem Bootstrapper für Abhängigkeitsinjektionscontainer. Hier konfigurieren Sie alle Ihre Instanzen und bereiten den Container in der Regel für die Verwendung vor.

Es endet auch damit, dass sich der größte Teil der Kopplung in Ihrer Anwendung befindet (sie muss sich irgendwo befinden), aber dies ist ein Nebeneffekt, nicht der Zweck.

Allgemeiner ausgedrückt ist ein Bootstrapper nur eine Klasse oder Methode, die eine Gruppe von Klassen / Objekten oder eine gesamte API für Ihre spezifischen Anforderungen und Verwendungszwecke vorbereitet / konfiguriert.

Bach
quelle
11

Im Allgemeinen gibt es bei EL & U.SE eine hervorragende Antwort auf die Frage: Was bedeutet "Bootstrap"? :

Bootstrap bezieht sich auf einen Prozess, der mit dem Aufnehmen durch die Bootstraps vergleichbar ist . Die Idee ist, dass es physisch unmöglich ist, sich zu heben, indem man sich bückt und versucht, "zu heben".

Bootstrapping bezieht sich genau darauf, aber auf eine der Physik analoge Weise. Computing ist der häufigste Bereich, den ich höre. Ein Programm, das sich selbst bootet , beginnt mit einer äußerst trivialen Operation und setzt den Startvorgang dann intern fort. Im engeren Sinne benötigt das Programm Hilfe für den ersten Schritt, aber sobald dies geschieht, benötigt es keine externe Hilfe.

Als solche UnityBootstrapperwäre das logischerweise eine Klasse, die es Ihrer Anwendung ermöglicht, sich durch ihre Bootstraps selbst zu erkennen , eine Aussage, die von der MSDN-Seite für die Klasse bestätigt wird.

Basisklasse, die eine grundlegende Bootstrapping-Sequenz bereitstellt, mit der die meisten Assets der Composite Application Library in einem IUnityContainer registriert werden.

Hinweise: Diese Klasse muss überschrieben werden, um eine anwendungsspezifische Konfiguration bereitzustellen.

Mark Booth
quelle
2

In der einfachen Terminologie ist ein Bootstrapper ein beim Booten geladener Code, der den Speicher und die Umgebung konfiguriert, bevor der Einstiegspunkt des Betriebssystems ausgelöst wird.

Paul Nathan
quelle
1

Normalerweise bedeutet es etwas, das bei einem minimalen Datensatz ein vollständiges Objekt bildet. Zum Beispiel nimmt ein YieldCurveBootstrapper Marktnotierungen (Einlagensätze, Swap-Sätze usw.) und erstellt eine kalibrierte Renditekurve.

quant_dev
quelle