Klassediagram
KristofferRisa opened this issue · 6 comments
Klassediagram
Klassediagrammer viser klasser, interface, eller programmersgrensesnitt, og hvordan de henger sammen. Denne strukturen er forutsetningen for at klassene kan samarbeide om bestemte oppgvaer i systemet. (Holmstedt, s. 101)
Systemet er modellert etter "Layers" mønsteret og hvor layers betyr lagdeling , og hvor det øverste laget er det som er mest applikasjonsspesifikk (Holmstedt, s. 272). Vi har valgt å benytte en trelags arkitektur med presentasjonslaget SvgUI, teknisk lag SvgCore og et domenelag SvgAddon.
"En arkitektur basert på veldefinerte lag fører til en god praksis for bygging av informasjonssystemer" (Holmstedt, s. 272).
I pakken SvgUI ser man at MainView implementerer interfacet "IFilbehandler" for å ha mulighet til å for å få data fra objekter i klassen Disk når dataene er klare. Dette er av og til nødvendig i GUI-komponenter for å hindre at komponenter løser resten av brukerområdet og gir følelsen av å miste kontroll (Holmstedt, s.277).
DesignView, XmlView og ForhåndsvisningsView, er alle spesialiseringer av MainView med hvert sitt ansvarsområde, som er å vise "kodemodus", "desigmodus" eller vise forhåndsvisning.
SvgCore er det tekniske laget. Med klassene SvgAnimering og interfacet IFilbehandler. Laget inneholder også klasse for å håndtere vedlikehold av programmet, som oppdateringer.
SvgAddon er det nederste laget, og som er minst applikasjonsspesifikk. Laget har ansvar skriving/lesing/kommunikasjon med disk, sky og database.
Forslag til overordnede klasse
Svg
SVG-Parser?
Animering
Lese / skrive
Må verifiseres.
Legg til "Vedlikehold" klasse. Skal håndtere oppdateringer, feilmeldinger osv.
Endre visDesignView() i :Meny til noe som gjør at det blir lettere å forstå at man kan skru det av og på? Kan tolkes som at den er avslått når man starter programmet. Fikse navn på SVG animering.