Goedendag medetweakers 
Ik heb een programmatje gemaakt wat snel een proxy aan en uit kan zetten en kan veranderen. Dit werkt nu enkel nog voor windows (simpelweg een registrykey aanpassen) maar ik wil dit ook voor andere applicaties doen zoals Firefox en Opera. Nu zat ik er aan te denken om dit als een pluginsysteem te doen.
Mijn idee was om een /plugin directory te maken en daarin verzamel ik dll bestanden waarin elk een class staat die de functionaliteit heeft om een proxy aan of uit te zetten van elk een andere applicatie. Vervolgens heb ik in mijn applicatie een class die de plugin directory uitleest en elke plugin in een array of linked list zet. Zodra de gebruiker dan de proxy wil aanpassen wordt die array uitgelezen en van elke class wordt een instantie aangemaakt die de juiste functie(s) aanroept.
Nu wou ik eigenlijk een interface maken voor de plugin zodat ik weet dat elke plugin die ik inlees wel zal werken. Dan kan ik heel makkelijk met reflection valid plugins eruit filteren. Maar dat is waar ik tegen een probleem aankom, hoe moet ik een losstaande dll maken als ik dat interface dan niet heb. Of ik moet dat interface er apart aan koppelen, maar dat lijkt me ook weer zo omslachtig.
Het makkelijkste is gewoon om zonder een interface te werken en er gewoon vanuit gaan dat alle plugins de vereiste functies hebben, maar het lijkt mij mooier om zoiets te doen via een interface. Of moet ik het op een kompleet andere manier aanpakken?
Alvast bedankt voor elk antwoord.
Ik heb een programmatje gemaakt wat snel een proxy aan en uit kan zetten en kan veranderen. Dit werkt nu enkel nog voor windows (simpelweg een registrykey aanpassen) maar ik wil dit ook voor andere applicaties doen zoals Firefox en Opera. Nu zat ik er aan te denken om dit als een pluginsysteem te doen.
Mijn idee was om een /plugin directory te maken en daarin verzamel ik dll bestanden waarin elk een class staat die de functionaliteit heeft om een proxy aan of uit te zetten van elk een andere applicatie. Vervolgens heb ik in mijn applicatie een class die de plugin directory uitleest en elke plugin in een array of linked list zet. Zodra de gebruiker dan de proxy wil aanpassen wordt die array uitgelezen en van elke class wordt een instantie aangemaakt die de juiste functie(s) aanroept.
Nu wou ik eigenlijk een interface maken voor de plugin zodat ik weet dat elke plugin die ik inlees wel zal werken. Dan kan ik heel makkelijk met reflection valid plugins eruit filteren. Maar dat is waar ik tegen een probleem aankom, hoe moet ik een losstaande dll maken als ik dat interface dan niet heb. Of ik moet dat interface er apart aan koppelen, maar dat lijkt me ook weer zo omslachtig.
Het makkelijkste is gewoon om zonder een interface te werken en er gewoon vanuit gaan dat alle plugins de vereiste functies hebben, maar het lijkt mij mooier om zoiets te doen via een interface. Of moet ik het op een kompleet andere manier aanpakken?
Alvast bedankt voor elk antwoord.