DLL vs EXE in .Net
Wanneer u in .NET programmeert, krijgt u een keuze als u een EXE of een DLL wilt maken. Deze twee bevatten beide uitvoerbare code, maar er is een verschil tussen DLL en EXE in hoe ze werken. EXE staat voor executable, wat betekent dat het een out-processerver is. Als u de EXE uitvoert, maakt deze zijn eigen thread en worden er resources voor toegewezen. Een DLL daarentegen is een actieve server, wat betekent dat u niet zelfstandig een DLL-bestand kunt uitvoeren. Een actieve toepassing laadt en roept een DLL op om gebruik te maken van de code die erin is opgeslagen.
Het belangrijkste doel van een DLL is dat u uw programma kunt indelen. Dit vermindert de complexiteit en maakt het gemakkelijker om problemen te lokaliseren. Als je al je code in een enkel uitvoerbaar bestand zou plaatsen, zou het behoorlijk groot zijn en zou het behoorlijk wat tijd kosten om te laden. U krijgt ook het voordeel van herbruikbaarheid als u DLL's gebruikt. Stel bijvoorbeeld dat je een code hebt die een bestand naar een nieuw formaat exporteert, als je dat in een DLL plaatst, kun je die functie gebruiken voor zowat elk programma dat je aan het maken bent. Als u het in plaats daarvan in een EXE hebt geplaatst, kan alleen die toepassing het gebruiken, omdat de functie niet zichtbaar is voor anderen. Dus voor taken voor algemene doeleinden is het gebruik van DLL's erg voordelig.
Wanneer u een programma in .Net codeert, moet u een uitvoerbaar bestand hebben, omdat dit het programma is dat door de gebruiker wordt uitgevoerd. Het EXE-bestand is essentieel omdat het als start- of startpunt voor uw programma dient. U kunt dan zoveel DLL's hebben als u maar wilt. Meer dan één EXE hebben is niet echt aan te raden, omdat ze de andere niet zouden kunnen gebruiken.
DLL's zijn erg handig als u veel programmeert of vrij ingewikkelde en grote toepassingen maakt. Maar als u slechts een eenvoudig programma maakt, is het gebruik van DLL's niet nodig. Het is eenvoudiger en handiger om de code in één EXE te bewaren.
Samenvatting: