¿Qué es un Bootstrapper en la programación?

13

A veces veo el término "Bootstrapper". Lo vi por última vez al crear algunos ejercicios de aprendizaje para Prism. Me tropecé con la clase UnityBootstrapper . Mi pregunta es: ¿cuándo llamarías a una clase "Bootstrapper"? ¿Por qué? ¿Qué dice sobre la clase?

    
pregunta Ioan Paul Pirau 27.07.2011 - 17:18

4 respuestas

21

En su ejemplo específico, usted 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 esto es un efecto secundario, no el propósito.

En términos más generales, un bootstrapper 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.

    
respondido por el Brook 27.07.2011 - 17:36
10

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 recogerse a sí mismo con los bootstraps . La idea es que es físicamente imposible levantarte agachándote e intentando "levantar".

     

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

Como tal, el UnityBootstrapper sería lógicamente una clase que le permite a su aplicación recuperarse a sí misma con sus bootstraps , una afirmación confirmada por el MSDN page 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 anularse para proporcionar la configuración específica de la aplicación.

    
respondido por el Mark Booth 27.07.2011 - 17:43
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 swap, etc.) y crea una curva de rendimiento calibrada.

    
respondido por el quant_dev 27.07.2011 - 17:24
1

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

    
respondido por el Paul Nathan 27.07.2011 - 17:50

Lea otras preguntas en las etiquetas