I en traditionell flerskiktad lösning i VB6 är ju varje skikt i princip ett funktionsbibliotek som ska serva skiktet ovanför. Eftersom inga objekt ska innehålla tillståndsinformation känns det lite meningslöst att instansiera objekt. static har ett problem, eftersom det inte instansieras och skapas ett unikt objekt så kan den bara serva en klient åt gången ... flaskhals ... Gäller inte det bara static fält, gäller det metoder oxå? Efter lite experiment svarar jag på mig själv. Jag är tveksam till om det kan stämma. Det borde inte fungera så. Vad är då meningen med att deklarera en metod som static? Du skrev att du hade två trådar. Varje tråd får väl lite egen processortid vilket kommer att göra att det kommer att skilja något i tid mellan anropen. Har du istället 50 trådar borde det märkas... Rätta mig om jag har fel för jag är inte säker på detta... >Vad är då meningen med att deklarera en metod som static? Aloha! Jag kör med static nästan överallt där jag jobbar tillståndslöst (stateless).Arkitektur för web-service (RFC)
Nu sitter jag med C# och bygger en web-service och då slog det mig att om man gör alla metoder static så uppnår man precis det; Funktionaliteten blir prydligt grupperad och man behöver inte skapa en massa objekt som bara lever för att göra ett anrop.
Kommentarer?
/johan/Sv: Arkitektur för web-service (RFC)
Sv: Arkitektur för web-service (RFC)
/johan/Sv: Arkitektur för web-service (RFC)
Det går utmärkt att anropa en static-metod från två trådar samtidigt.
/johan/Sv: Arkitektur för web-service (RFC)
Sv: Arkitektur för web-service (RFC)
Du slipper skapa en instans av klassen först. Det är inte alltid meningsfullt att göra.
>Varje tråd får väl lite egen processortid vilket kommer att göra att det kommer att skilja något i tid mellan anropen. Har du istället 50 trådar borde det märkas...
Anropen serialiseras inte, utan exekveras mer eller mindre parallellt (beroende på om du har flera processorer) med separata stackar. En trådswitch kan komma mitt under exekveringen av en funktion, det är inte så att andra trådar måste vänta på att anropet ska bli klart.
MSSv: Arkitektur för web-service (RFC)
Vet att den här tråden är lite gammal men jag tycker att den är väldigt intressant! Sitter nämligen just nu och designar ett system där vi överväger att använda oss utav statiska metoder i en ganska stor utsträckning.
Fråga är alltså när är det lämpligt att använda statiska metoder? Vilka faktorer är det man skall beakta?
Spontant så känns det ju väldigt onödigt att instasiera ett objekt med ett antal metoder när man i själva verket bara vill använda en specifik metod.
Mvh,
Max.Sv: Arkitektur för web-service (RFC)
/johan/