Jag sitter och funderar lite i allmänhet hur man bygger modulära program i .NET. I VB6 kan man ju lägga delar av applikationer i en ActiveX-dll/exe för att enkelt kunna byta den. Vilken teknik ska man använda om man vill göra motsvarande i VS.NET? Jag vill t.ex. kunna lägga delar av ett program i en fil för att kunna leverera olika filer till olika kunder, t.ex. olika typer av databasanslutningar. Även olika "plugin" kan vara intressant. Gissar att det finns massa nyttigt att läsa om detta, men det är lite svårt när man inte vet vad man ska söka på =) Du kan skapa olika assemblies (dll:er) isäller för com-komponter, det gör du tex genom att skapa upp class libraryh projekt i VS.Net. Du kan även använda dig av Enterprise Services för att skapa COM+ komponenter i .Net, kan vara bra om du vill använda dig av transaktioner etc.Motsvarande ActiveX
/JohanSv: Motsvarande ActiveX
När det gäller plug-in arkitektur så kan du lösa det hela med interface eller abstrakta klasser som varje plugin implmenterar eller ärver. Du kan använda dig av late-binding för att ladda en plug-in (Assembly). När du laddar din plug-in dynamisk så använder du det interface eller den abstrakta klass som plugin har implementerat eller ärvt, för att komme åt dess gemensamma members (Metoder, properties etc). För att specifiera dina plugins så kan du skapa en sectionhandler och lägga konfigurationen i din egna section i web.config. Där specar du bla den plugin du ska använda dig av mm. För att få ett hum vad jag igentligen skriver om så rekommenderar jag dig att gå in på denna site:
http://msdn.microsoft.com/library/en-us/dnbda/html/emab-rm.asp?frame=true
läs artikeln och ladda ner källkoden och gå genom den. Det är en plugin lösning för att logga exceptions med olika "publishers".
Om du är intreserad av en plugin lösning för ADO.Net så gå till detta workspace:
http://www.gotdotnet.com/Community/Workspaces/Workspace.aspx?id=c20d12b0-af52-402b-9b7c-aaeb21d1f431
Om du är nyfiken på ett plugin lösning för kommande ADO.Net 2.0 så kan du gå in på mitt egna workspace:
http://www.gotdotnet.com/Community/Workspaces/Workspace.aspx?id=65fa26c3-a62a-49d6-895d-422272e53a0c
/Fredrik Normén NSQUARED2
http://www.nsquared2.net