Un wrapper è un livello, una porzione di codice, elementi che incapsulano la logica interna del processo o processo finale.
Possiamo dire che esistono due tipi principali di wrapper:
-
wrapper di astrazione : il principio è quello di nascondere / astrarre l'attività finale per essere il meno possibile associata ad essa (ad esempio, il chiamante del wrapper non ha bisogno di conoscere l'attività finale logica).
-
wrapper motore / controller : vengono utilizzati per aggiungere una logica specifica o di contesto che non può, o non deve, essere eseguita dall'attività finale.
Nota che un wrapper può raggiungere anche questi due obiettivi.
Può essere usato in molti casi ma su un programma, un programma wrapper è un "programma di avvio". Il suo obiettivo principale è avviare il programma figlio.
Può passare alcuni parametri di contesto al programma figlio, gestire le fasi di pre-lancio e di post-lancio, riavviare / spegnere il sistema, ecc ...
Può avviare il programma figlio come un nuovo processo o come un processo interno, ma l'esecuzione del programma wrapper è direttamente collegata all'esecuzione del programma figlio: se il wrapper si ferma, il programma figlio si ferma.
Per fare un confronto con un client di terze parti, a un client di terze parti non interessa il processo del programma figlio. È lì per mantenere i file del programma figlio / configurazione / roba ma non è responsabile della sua esecuzione anche se può avviarlo.