data hieraki

Tags:    java

Jeg står med et mindre designmæssigt problem. Jeg står og skal lave et mindre program der grafisk kan vise en stak linier. Disse linier er grupperet i klumper, lad os kalde dem stakke. Stakke er så igen grupperet i klumper af stakke. Altså:

KLUMP -> består af -> STAKKE -> består af -> LINIER.

Da der konstant skal arbejdes på linierne, vil jeg helst holde dem direkte i hukommelsen, og ikke bruge en database.

I mit nuværende design har jeg tre klasser: KLUMP, STAK og LINIE.

LINIE har et ID på den stak den tilhører, og STAK har et ID på den KLUMP den tilhører.

Er det helt hen i vejret at hard-code designet sådan? Min bekymring er om at det er let at vedligeholde, hvis der senere sker ændringer i hierakiet.

Findes der nemmere/mere elegante metoder at holde styr på hierakisk data, hvor "leaf nodes" skal behandles hyppigt?

På forhånd tak for råd/hjælp :)



3 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Er det et program hvor data hyppigt "rejser" over et større WAN netværk? Eller er det et LAN netværk?




Jeg står med et mindre designmæssigt problem. Jeg står og skal lave et mindre program der grafisk kan vise en stak linier. Disse linier er grupperet i klumper, lad os kalde dem stakke. Stakke er så igen grupperet i klumper af stakke. Altså:

KLUMP -> består af -> STAKKE -> består af -> LINIER.

Da der konstant skal arbejdes på linierne, vil jeg helst holde dem direkte i hukommelsen, og ikke bruge en database.

I mit nuværende design har jeg tre klasser: KLUMP, STAK og LINIE.

LINIE har et ID på den stak den tilhører, og STAK har et ID på den KLUMP den tilhører.

Er det helt hen i vejret at hard-code designet sådan? Min bekymring er om at det er let at vedligeholde, hvis der senere sker ændringer i hierakiet.

Findes der nemmere/mere elegante metoder at holde styr på hierakisk data, hvor "leaf nodes" skal behandles hyppigt?

På forhånd tak for råd/hjælp :)



det lyder som den relationelle måde at kæde ting sammen på (som man gør i relationelle databaser), men nu er Java et objektorienteret sprog, og her kæder man objekter sammen med referencer...altså noget i stil med:
Fold kodeboks ind/udKode 




Er det et program hvor data hyppigt "rejser" over et større WAN netværk? Eller er det et LAN netværk?


Her kan man da snakke om en misforståelse af dimensioner. Jeg undskylder.
Hvis jeg skulle lave dette, havde jeg nok anvendt et composite pattern. På den måde kan man vel bygge en struktur op hvor en stak kan have mange linier, og derved sørge for at en del eller helhed i strukturen kan gemmes i RAM.



t