2014-10-06 8 views
20

Che cos'è esattamente il venditore? (come lo definiresti?)Che cos'è il "venditore"?

Significa la stessa cosa in diversi linguaggi di programmazione? Concettualmente parlando, non guardando l'esatta implementazione.

+1

Che cos'è * vendor *, anche approssimativo? Non un termine che abbia mai incontrato. In questo momento ho difficoltà a prendere la mia conoscenza della parola * vendor * e ad applicarla nell'ambito dei linguaggi di programmazione come un verbo con un * -ing * participio. –

+0

L'ho trovato usato nei mondi Python, PHP e Ruby. Ma non è un concetto molto conosciuto. Ecco perché sto facendo la domanda :-) –

+1

Il fatto che non l'ho visto usato così tanto contribuisce anche alla mia comprensione incompleta del concetto. –

risposta

5

Se l'app dipende dalla disponibilità di determinati codici di terze parti, è possibile dichiarare una dipendenza e consentire al sistema di generazione di installare la dipendenza per conto dell'utente.

Se la fonte del codice di terze parti non è molto stabile, è possibile "vendor" quel codice. Prendi il codice di terze parti e lo aggiungi alla tua applicazione in un modo più o meno isolato. Se prendi seriamente questo isolamento, dovresti "rilasciare" questo codice internamente alla tua organizzazione/ambiente di lavoro.

Un altro motivo per la vendita è se si desidera utilizzare un determinato codice di terze parti ma si desidera modificarlo un po '(una biforcazione in altre parole). Puoi copiare il codice, cambiarlo, rilasciarlo internamente e quindi lasciare che il tuo sistema di installazione installi questo pezzo di codice.

+2

Ho letto questo un paio di volte ora, ancora non sono sicuro di capire cosa * vending * potrebbe essere. Sicuramente deve essere più che stabilire una dipendenza da un fork del codice di qualcun altro o non ci sarebbe una strana nuova parola per * it *, qualunque * esso * potrebbe essere. Ma per favore, non riscrivere la tua definizione sul mio account, so già abbastanza parole e sospetto che non ho bisogno di imparare cosa significhi * vending *, se non altro. –

+1

Penso che "stabilire una dipendenza da un fork del codice di qualcun altro" sia abbastanza vicino a quello che sto dicendo, quindi grazie per quello. Comunque ho la sensazione che sia un po 'più di questo, è anche "costruire/rilasciare la tua versione del codice di qualcun altro" per un uso specifico. –

+4

Vorrei aggiungere la mia comprensione dell'etimologia di questo termine: il "venditore" in questo caso è il creatore del software (presumibilmente voi, dato che siamo su Stack Overflow); e stai spedendo una versione selezionata di una dipendenza 'venditore' (al contrario di una versione selezionata dall'utente, o più probabilmente, del sistema utente selezionato). Il termine è stato intorno a un * molto * lungo tempo, per quanto ne so. – ELLIOTTCABLE

10

Sulla base this answer

Definito here per Go come:

Vendoring è l'atto di fare la propria copia dei pacchetti 3rd party il progetto sta usando. Queste copie sono tradizionalmente collocate all'interno di ogni progetto e quindi salvate nel repository del progetto.

Il contesto di questa risposta è nella lingua Go, ma il concetto si applica ancora.

+1

Vale la pena aggiungere che la vendita è l'esatto opposto dell'utilizzo di un manager delle dipendenze – konstin