it-swarm-fr.com

Qu'est-ce qu'un programme "wrapper"?

Lorsque je travaille, les employés utilisent un programme de bureau tiers pour leurs clients. Ce programme enregistre des données dans un fichier plat. Mon collègue veut écrire un fichier Java Programme qui télécharge ce fichier plat sur un serveur distant, ouvre le programme de bureau lorsque le fichier plat est téléchargé à partir d'un site Web et vérifie si le programme de bureau est en cours d'exécution. ou non en regardant les processus Windows.

Il continue d'appeler ce programme d'assistant/utilitaire un "wrapper". Mais ça ne s'enroule pas! J'ai essayé de le nettoyer avec lui, mais il a dit: "Eh bien, je l'appelle une enveloppe." Il a maintenant tout le monde dans la société l'appelant un "wrapper". Que l'appelleriez-vous? Je dis que c'est un programme d'assistance ou un programme d'utilité.

7
user6950

Je ne pense pas qu'il y a une définition officielle! Dans mon esprit, un programme d'emballage est un programme qui, en général, commence avant le démarrage du programme enveloppé et ne sort pas plus tôt qu'après les sorties du programme enveloppé. Un programme d'emballage gérerait probablement également la durée de vie du programme enveloppé (le démarrer pour vous, arrêtez-le pour vous.)

Je recommande de discuter trop sur les noms des choses, cependant. L'important est de concevoir des logiciels qui fonctionne bien. Parfois, la terminologie de Belaboring peut aider à cet objectif; Parfois, c'est un hobgoblin.

9
Mike Clark

La terminologie n'est pas si importante sauf si elle est utilisée de manière incorrecte et crée une confusion. Dans ce cas, un autre programme qui est un programme d'emballage est introduit aux utilisateurs, ils deviendront confus car ils verront deux programmes de la même manière, mais avec des fonctionnalités différentes.

Un exemple - un "classique" de celui-ci que j'ai vu encore et encore dans les équipes de développement, c'est là que quelqu'un commence à écrire un talon ou de fausses classes à des fins de test. Mais les appelle "moqueurs", même en utilisant le mot "moqueur" dans les noms de classe. C'est à dire. MockofexternalTout. Cela n'a rien de mal à cela, sauf que lorsque quelqu'un d'autre vient et doit utiliser un cadre moqueur réel tel que EasyMock ou Makito. Maintenant, les programmeurs ne peuvent pas dire ce qu'ils traitent. Pire encore, les développeurs qui n'ont pas utilisé de cadres moqueurs avant de se mettre complètement confus au sujet du terme simulé et de ce que cela signifie.

Donc, dans votre cas, je ne m'inquiéterais pas trop sur l'autre gars à l'aide du terme wrapper, si et seulement si vous pensez qu'il est peu probable que les utilisateurs soient présentés avec autre chose qui fonctionne différemment, mais utilise le même terme.

3
drekka

Un emballage est une couche, une partie de code, des trucs qui encapsulent la logique intérieure de la tâche finale ou du processus.

Nous pouvons dire qu'il y a deux types d'emballages principaux:

  • Emballages d'abstraction: Le principe est de masquer/résumé la tâche finale d'être le plus attachée possible que possible (c'est-à-dire que l'appelant d'emballage n'a pas besoin de connaître la logique de tâches finale).

  • emballages de moteur/contrôleur: Ils sont utilisés pour ajouter une logique spécifique ou contextuelle qui ne peut pas-être supposé être préparé par la tâche finale.

Notez qu'une enveloppe peut également atteindre ces deux objectifs.

Il peut être utilisé dans de nombreux cas, mais sur un programme, un programme Wrapper est un "lanceur de programme". Son objectif principal est de lancer le programme enfant.

Il peut passer des paramètres de contexte au programme enfant, gérer les étapes pré-lancées et après le lancement, le redémarrage/l'arrêt, etc.

Il peut lancer le programme enfant en tant que nouveau processus ou comme processus interne, mais l'exécution du programme Wrapper est directement liée à l'exécution du programme enfant: si l'emballage s'arrête, le programme enfant s'arrête.

Pour comparer à un client tiers, un client tiers ne se soucie pas du processus du programme enfant. Il est là pour maintenir les fichiers/configuration du programme enfant, mais il n'est pas responsable de son exécution, même s'il peut le lancer.

3
JoeBilly

Cela me semble comme un service, pas une enveloppe. Les services sont ces petites créatures veilleuses qui surveillent de loin pour des conditions spécifiques pour sauter dans la mêlée et gérer un peu de travail étrange. Je pense que le service est techniquement un mot-clé réservé par Microsoft Windows, ce qui était donc le terme "thread" jusqu'à ce qu'il soit utilisé dans un contexte plus large. Alors n'hésitez pas à adapter ce mot. Au moins, il est plus précis que Wrapper.

2
Neil

Si cela est expliqué en termes de laïcs, quels non-Techie peuvent comprendre, il n'y aura pas de problème.

De ma compréhension, un programme d'emballage est enveloppé autour d'un programme standard pour gérer les étapes sophistiquées ou restrictives pour les utilisateurs finaux, comme dans un programme personnalisé qui adhère peut-être aux stratégies de la société.

0
Digital Dude

J'ai toujours visualisé des emballages comme généralement de petits programmes qui font le prédilection et la post-traitement pour un autre programme ou procédure. Donc, typiquement, le wrapper sera celui qui apporte l'appel au programme qu'il enveloppe.

Exemples pour la raison pour laquelle vous pourriez faire cela:

  • Il vous permet de configurer programmatiquement les conditions d'environnement pour que le programme soit appelé afin qu'ils soient toujours sous une forme qui rend le programme emballé heureux.

  • Cela vous permet de masquer efficacement l'appel du programme emballé, si vous souhaitez, des yeux de l'utilisateur.

0
Kavet Kerek

Un "wrapper" est quelles que soient les ventes, la gestion ou le marketing veulent l'appeler. Avez-vous vu les nouvelles publicités qui sortent des fenêtres comme "le nuage?" C'est vrai, vous obtenez votre propre "petit nuage" là-bas sur le bureau ...

0
wheaties