Ha senso creare classi wrapper per un'altra libreria, puramente l'utente finale non deve installare / importare quella libreria?

2

In questo caso specifico sto usando C # e Emgu, dove ho creato un wrapper attorno all'oggetto Capture() , puramente in modo che l'utente finale della libreria che ho creato non debba usare Emgu 'nella loro codice cliente.

Il mio wrapper non aggiunge funzionalità, e ho discusso se dovrebbe essere una cosa propria o se dovessi inserirlo in una delle altre classi. La ragione per cui sto prendendo in considerazione questo è che un requisito chiave è che il processo di installazione dovrebbe essere il più leggero possibile.

Non sono riuscito a trovare nulla nella guida dell'utente MSDN.

    
posta Ahmed 20.07.2017 - 22:44
fonte

1 risposta

7

Creare wrapper attorno a librerie di terze parti non è una pessima idea, anche se forse non per le ragioni che vuoi. Considerare un punto in futuro quando si desidera cambiare la libreria di elaborazione delle immagini che si utilizza o persino scrivere la propria implementazione. Con le interfacce appropriate, il codice cliente non cambia affatto - solo l'implementazione lo fa. La tua implementazione cambia da chiamare Emgu a chiamare NewLibrary o chiamare il tuo codice.

Se utilizzi l'integrazione delle dipendenze, avrai bisogno di una piccola modifica per indirizzarla alla nuova implementazione, ma ciò ti consentirebbe di mantenere entrambe le implementazioni e di passare da una all'altra se necessario.

    
risposta data 20.07.2017 - 22:50
fonte

Leggi altre domande sui tag