Jag håller på med en P2P simulator. Bland annat simulerar den hur paket skickas mellan olika noder. Eftersom det är en simulator spelar storleken på paket ingen roll. Problemet är hur man skall skapa olika typer av paket. Det finns paket för att sprida sin position, för att tal om vilka noder som finns i en grupp etc. Problemet är hur man skall designa dessa. De har alla vissa egenskaper gemensamt. Egentligen har det väl ingen betydelse vilken metod du använder. Okei det kanske inte är så snyggt, men huvudsaken är väl att det funkar, så vida du inte vill uppnå något nytt! Jag hade nog löst det med nåt form av wrapper objekt som innehåller en header och en datadel. Designproblem
En lösning kan vara att ha ett interface eller en basklass som alla pakettyper ärver ifrån. Nackdelen med det är att man måste använda instanceof för att kolla vilket paket man verkligen har och sedan använda rätt metoder.
Den andra lösningen är att definiera en massa konstanter för att skilja paketen åt. Man kan då lätt kolla vilken typ av paket det är man har fått.
Problemet är att jag inte tycker någon av lösningarna är speciellt snygg. I praktiken är det två sätt att sätta flaggor på objektet för att se vad man ska göra med dem. Vilka andra sätt finns det att lösa problemet (i Java)?Sv: Designproblem
Sv: Designproblem
Headern har en identifierare/namn som talar om vad för slags paket som finns i datadelen, hur mycket data det är osv. Samma princip som HTTP header alltså. Man ska sno av andra och inte uppfinna hjulet igen.. ;)