Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


En riktigt komponentbaserad applikation?

Postades av 2003-03-11 03:00:20 - Jonas Versen, i forum c# (c-sharp), Tråden har 3 Kommentarer och lästs av 909 personer

Hejsan!

Jag skall snart påbörja ett examensarbete där jag skall skapa ett enklare(?) affärssystem med kundhantering, produktregister och låneregister. Mitt mål är att göra applikationen både distribuerad och komponentbaserad. Jag har en del ideér som jag skulle vilja genomföra men jag är inte säker på om det går. Eller rättare sagt: jag är inte säker på om det går med den tiden jag har på mig med tanke på att jag inte har en aning om hur man gör :) (jag har inte tid med att "gå in i väggen")

Det jag vill veta är alltså om följande scenario är något jag rimligt kan ta mig an.

Jag vill att man i servergränsnittet skall kunna ladda olika självstående moduler/assemblies, t.ex. kundhanteringen eller produkthanteringen. Klienten måste helt dynamiskt kunna uppdateras (dialogrutor, menyval etc.) efter vilka assemblies som är laddade i servern. Tanken är att man skall kunna skapa nya moduler som klienten då skall kunna utnyttja sig av utan att man ändrar i klienten.

Om man t.ex. bara har kundhanteringsmodulen installerad på servern så skall klienten t.ex. bara kunna visa vilka produktnr som klienten har lånad och när. Har man produkthanteringsmodulen installerad på servern också så skall man kunna se uppgifter om produkterna han har lånat, kunna korssöka mellan de både registrena osv.

Frågan summerad alltså: Kan man dynamiskt förändra klienten efter de assemblies som är "laddade" på servern? (Jag kan tänka mig en del problem med behov av stubs/skeletons etc).

Oerhört tacksam för hjälp/tips och ideér!

Mvh Jonas Versén - Nerd in training


Svara

Sv: En riktigt komponentbaserad applikation?

Postades av 2003-03-11 09:50:10 - Patrik Löwendahl

Ja,

du får använda dig av reflection bland annat. Allan Knudsen på Microsoft hade ett sådant exempel på lanseringen av VS.NET. Har själv bett honom lägga upp det på svenska MSDN ett par gånger men vet inte om det ligger där ännu.

// Patrik


Svara

Sv: En riktigt komponentbaserad applikation?

Postades av 2003-03-11 15:17:10 - Per Hultqvist

Visst är det möjligt att gära en sådan dynamisk lösning som du beskriver, men det kräver ju att man tänker igenom designen av systemet i förväg så att man inte målar in sig i något hörn.

Som någon annan svarade så är det Reflection som gäller när du vill anropa funktioner "latebound", dvs där du inte vid kompileringstillfället känner till assemblyns namn och dess funktioners namn. Se mitt tips [Skapa ett objekt och anropa en metod "latebound" med Reflection. (C#)] angåenge reflection.

Du skulle kunna utnyttja t ex ini-filer (eller systemregistret eller..) för att tala om för klienten vilka komponenter som fanns installerade på den aktuella maskinen samt vilka funktioner som respektive komponent innehåller. Exempel på hur ini-filen kan se ut :

<code>
[Components]
ProductBL
CustomerBL

[ProductBL]
ShowProductList ' Visa artikelregistret.
ShowProduct ' Redigera en enskild artikel.
' Tar produktnummer som parameter.

[CustomerBL]
ShowCustomerList ' Visa kundregistret.
ShowCustomer ' Redigera en enskild kund.
' Tar kundnummer som parameter.
</code>

Notera att ShowProduct och ShowCustomer behöver ta en parameter, produktnummer resp kundnummer, så du behöver fixa en lösning för att överföra parametrar i t ex en string-array eller object-variabel.

Låt alla komponenter innehålla en klass med samma namn (t ex Connect) som har en funktion som alltid heter likadant (t ex StartFunction) . Använd Reflection för att skapa en instans av den klassen och anropa funktionen med en parameter som anger vilken funktion som ska startas (hämtas från ini-filen) och eventuella ytterligare nödvändiga parametrar.

<code>
public class Connect
{
public void StartFunction(string FunctionName, object[] Parameters)
{
switch(FunctionName)
{
case "ShowProductList":
....
break;
case "ShowProduct":
....
break;
}
}
}
</code>

Jag har provat en liknande lösning i ett ramverk som jag varit med och byggt i VB6 och det har fungerat utmärkt. En annan fördel med den här typen av design är att det är lätt att göra kundspecifika lösningar. Man behöver ju då bara skapa en ny komponent (med ett nytt namn) specifik för kunden och skicka den till kunden, redigera ini-filen på klientsidan och sedan är det klart!

Det finns säkert andra smartare lösningar men ovanstående metod har jag testat och den fungerade bra för våra ändamål.


Svara

Sv: En riktigt komponentbaserad applikation?

Postades av 2003-03-13 01:10:32 - Jonas Versen

Jag tackar ödmjukast för svaren, det här ser ut att bli något att bita i :) Har en känsla av att jag återkommer när det blir dags för implementationen ;)

/Jonas Versén


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 154
27 952
271 704
727
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies