Qu'est-ce qu'un Bootstrapper en programmation?

Réponses:

22

Dans votre exemple spécifique, vous parlez d'un programme d'amorçage de conteneur d'injection de dépendances. C'est là que vous configurez toutes vos instances et préparez généralement le conteneur pour son utilisation.

Il finit également par être là où réside la majeure partie du couplage dans votre application (il doit résider quelque part), mais c'est un effet secondaire, pas le but.

En termes plus généraux, un programme d'amorçage est simplement une classe ou une méthode qui prépare / configure un groupe de classes / objets ou une API entière pour vos besoins et votre utilisation spécifiques.

Ruisseau
la source
11

Dans le sens général, il y a une excellente réponse chez EL & U.SE à la question Quelle est la signification de «bootstrap»? :

Bootstrap fait référence à un processus qui s'apparente à se prendre par les bootstraps . L'idée est qu'il est physiquement impossible de se soulever en se penchant et en essayant de «se soulever».

Bootstrapping se réfère à faire exactement cela, mais d'une manière analogue à la physique. L'informatique est le domaine le plus commun, j'entends le terme. Un programme qui bootstraps lui - même est celui qui commence par une opération extrêmement trivial et utilise ensuite que pour poursuivre le processus de démarrage en interne. Au sens strict, le programme a besoin d'aide pour la toute première étape, mais une fois que cela se produit, il n'a pas besoin d'aide extérieure.

En tant que tel, le UnityBootstrapperserait logiquement une classe qui permet à votre application de récupérer par ses bootstraps , une affirmation confirmée par la page MSDN de la classe.

Classe de base qui fournit une séquence d'amorçage de base qui enregistre la plupart des actifs de la bibliothèque d'applications composites dans un IUnityContainer.

Remarques: Cette classe doit être remplacée pour fournir une configuration spécifique à l'application.

Mark Booth
la source
2

Dans la terminologie de bas niveau, un bootstrapper est un morceau de code chargé au démarrage qui configure la mémoire et l'environnement avant de déclencher le point d'entrée du système d'exploitation.

Paul Nathan
la source
1

Habituellement, cela signifie quelque chose qui, étant donné un ensemble minimal de données, construit un objet complet. Par exemple, un YieldCurveBootstrapper prend les cotations du marché (taux de dépôt, taux de swap, etc.) et construit une courbe de rendement calibrée.

quant_dev
la source