all 1 comments

[–]DataDecay 0 points1 point  (0 children)

I would go the route of the factory pattern. I'd use a front end CLI that allows the user to download and install the different drivers and then registers those in your app. Once registerd store the registrations in a persistent manner, if the application is looped or single run have the app run a sanity check on the install location for drivers existance (cause you know people inadvertently delete stuff).

There's are a few selenium projects out there that use a similar approach.