¿Qué es un Bootstrapper en programación?

Respuestas:

22

En su ejemplo específico, está hablando de un Bootstrapper de contenedor de inyección de dependencia. Aquí es donde configura todas sus instancias y generalmente prepara el contenedor para su uso.

También termina siendo donde reside la mayor parte del acoplamiento en su aplicación (tiene que residir en algún lugar), pero este es un efecto secundario, no el propósito.

En términos más generales, un programa de arranque es solo una clase o método que prepara / configura un grupo de clases / objetos o una API completa para sus necesidades y uso específicos.

Arroyo
fuente
11

En el sentido general, hay una excelente respuesta en EL & U.SE a la pregunta ¿Cuál es el significado de "bootstrap"? :

Bootstrap se refiere a un proceso que es similar a levantarse con los bootstraps . La idea es que es físicamente imposible levantarse inclinándose e intentando "levantar".

Bootstrapping se refiere a hacer exactamente eso, pero de una manera análoga a la física. La informática es el área más común que escucho el término. Un programa que ayuda de nadie en sí es uno que comienza con una operación extremadamente trivial y luego lo utiliza para continuar con el proceso de inicio internamente. En un sentido estricto, el programa necesita ayuda para el primer paso, pero una vez que eso sucede, no necesita ayuda externa.

Como tal, UnityBootstrapperlógicamente sería una clase que permite que su aplicación se active por sí misma , una afirmación confirmada por la página de MSDN para la clase.

Clase base que proporciona una secuencia de arranque básica que registra la mayoría de los activos de la Biblioteca de aplicaciones compuestas en un IUnityContainer.

Observaciones: esta clase debe ser anulada para proporcionar una configuración específica de la aplicación.

Mark Booth
fuente
2

En terminología de bajo nivel, un programa de arranque es un código cargado en el arranque que configura la memoria y el entorno antes de activar el punto de entrada del sistema operativo.

Paul Nathan
fuente
1

Por lo general, significa algo que, dado un conjunto mínimo de datos, construye un objeto completo. Por ejemplo, un YieldCurveBootstrapper toma cotizaciones de mercado (tasas de depósito, tasas de intercambio, etc.) y construye una curva de rendimiento calibrada.

cuant_dev
fuente