SPiNMedlem sedan mars 20005 832 inlägg
Jag sitter och UML:ar, och har gått bet. Jag tänkte leka lite med taglibs i Java, och undrar hur jag ska gå vidare.

Där ser ni mitt klassdiagram.
Dessa klasser ska alltså täcka alla sidor i min applikation, t.ex. nyheter, projekt, m.fl.
Jag tänkte bygga upp varje sida som något nedanför:
<myPrefix:module type="NewsModule" looptimes="5">
<myPrefix:loop type="NewsTopic" /><br />
<myPrefix:loop type="NewsMessage" /><br /><br />
</myPrefix:module>
Eftersom att alla moduler inte har lika många element i klassen ListItem, dvs. egenskaper/fält, så blir det problem hur jag ska bygga upp den klassen. T.ex. modulen projekt kanske har tre egenskaper ( Projektnamn, projektbeskrivning och projektutvecklare ) medan nyheterna har två ( rubrik och meddelande ). Dessa beskrivningar är vad som kommer att lagras i den klassen.
Så nu är jag öppen för förslag! ;)
ViktorMedlem sedan aug. 20021 710 inlägg
Först en fråga, vad är det för UML program som du kör med? Var kan man hämta hem det? (med tanke på texten i bakgrunden antar jag att det är gratis :))
Vet inte om det är det som du frågar efter men om du menar hur din ListItem klass skulle kunna se ut så skulle jag kunna tänka mig något sånt här:
public final int PROJECT_NAME=0;
public final int PROJECT_DESC=1;
public final int PROJECT_DEVELOPER=2;
public final int NEWS_HEADLINE=3;
public final int NEWS_MESSAGE=4;
public void setData(int type, /*Object*/String data)
{
if(type==PROJECT_NAME)
{
}
else if(type==PROJECT_DESC)
{
}
else if(type==PROJECT_DEVELOPER)
{
}
else if(type==NEWS_HEADLINE)
{
}
else if(type==NEWS_MESSAGE)
{
}
}
public /*Object*/String getData(int type)
{
if(type==PROJECT_NAME)
{
}
else if(type==PROJECT_DESC)
{
}
else if(type==PROJECT_DEVELOPER)
{
}
else if(type==NEWS_HEADLINE)
{
}
else if(type==NEWS_MESSAGE)
{
}
}
Du skickar med datan och vad det är för något, när du hämtar skickar du med vad det är för något du vill ha. Hoppas det var det svaret du ville ha :)
/Viktor
SPiNMedlem sedan mars 20005 832 inlägg
UML-verktyget heter Visual Paradigm ( Eller något liknande ;) ), och det är gratis för icke kommersiellt bruk i form av versionen Community Edition som finns att ladda ner på http://www.visual-paradigm.com har jag för mig. Sök på Google annars, det var lätt att hitta. :)
Tack för svaret, det är ju ett sätt att göra det på. Problemet är hur jag ska lagra själva informationen - eftersom att det skiljer sig mellan de olika modultyperna. Men jag gissar på att det finns två sätt att lösa det på, antingen ditt sätt, med massvis av fält i klassen, eller med en massa klasser - en klass för varje modul. Får se vilken jag väljer, tack för svaret! :)
ViktorMedlem sedan aug. 20021 710 inlägg
Visual Paradigm påväg ner :)
Själv hade jag nog gjort som du säger, göra flera olika klasser, 1 för varje typ, och sedan använda ett interface för dem om möjligt. Då har man bäst ordning och stuktur på allt tycker jag.
/Viktor
SPiNMedlem sedan mars 20005 832 inlägg
Ja, precis. Det blir nog den varianten, även fast det var den jag gärna hade sluppit. Men massvis av fält istället för 10 klasser låter inte lockande. Det hade varit enkelt om man kunde ange index-namn på arrayer istället för enbart nummer. Men nu går ju inte det. :)