Hej

Jeg har en lille designovervejelse som jeg godt kunne tænke mig at få vendt et par forslag til.

Strukturen i min lille applikation er at en "menu" AIR app, der ligger øverst i hierakiet og forvalter en "appStage" sprite.
Når forskellige menu punkter vælges instatieres appStage som min applikation. feks. appStage = new App1();

Det er fint, garbage collection klares internt i App1, App2 osv. men kaldes fra menu. Strukturen fra menu og ned efter ligner tilnærmelsesvis Model-View-Controller strukturen.

P.g.a. måden "menu" håndterer appStage:Sprite'n kan kun én applikation være instatieret af gangen. Så menu bruges også til at igangsætte garbage collection, og holde evtuelle variabler der skal fragtes fra App1() til App9(); feks. usecase: "nyt menupunkt valgt af bruger" -> bed igangværende App(); få afleveret hvad der evt. skal bruges i næste app-> start garbage collection -> nedlæg appStage -> opret appStage og instantier ny AppX(variabel fra tidligere app);

Ok, håber det giver mening.

Mit spørgsmål er nu: jeg har en del ting jeg gerne vil gøre tilgængeligt alle steder. Feks. lyde der genbruges rundt i de forskellige applikationer(uden at skulle loade og oprette dem hver gang), indstillinger, urls til eksterne assets og farvekoder.

Til feks. lyde kan jeg lige umiddelbart se et par løsninger... load det hele i menu og lad "spil lyd 4" events "boble op" fra de dybeste afkroge af App() objekterne (ville kun skulle loades og oprettes en gang) men resultere i listeners placeret overalt på min stage + dårlig kobling fra nederst til øverst. Jeg kunne oprette et enkelt lyd objekt med lydende i og proppe det i mine constructors, det er bare begrænsende, medmindre jeg gør det overalt og det ville seriøst gøre min kode u-genbrugelig fremover + forvirrende.

Statiske klasser kunne måske være løsningen til de forskellige farver, urls og indstillingsfiler?

Så hvordan får jeg på en "pæn" måde gjort det absolut pærenemt for mig hurtigt at afspille en lyd eller hive en url frem uden at det resulterer i grimme løsninger og skrivekrampe?

AS3, AIR, Flex 3.

Håber på et par gode forslag Smile

Tak

Ricki