1 / 14

Prosjektet transparente lag

Prosjektet transparente lag. Composite og tegnende objekter Decorator og gui-kontrollere Factory Method Iterator. Composite. En gruppe elementer oppfører seg som ett Alle adresseres samtidig Hvert element kan respondere individuelt

rhett
Télécharger la présentation

Prosjektet transparente lag

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Prosjektet transparente lag Composite og tegnende objekter Decorator og gui-kontrollere FactoryMethod Iterator

  2. Composite • En gruppe elementer oppfører seg som ett • Alle adresseres samtidig • Hvert element kan respondere individuelt • Brukes ofte i gui-trær og grupperende tegneprogrammer

  3. Oversikt med pakkediagram • Pakkediagrammer gir god oversikt over hele systemet • easylib er • utvidet for • XML og DOM

  4. Den endelige easylib • Pakken er utvidet tre ganger • Dette gir trening i å lage pakker for gjenbruk

  5. SVG og XML • XML er et generelt språk for applikasjoner • SVG er en spesialisering av XML • Det betyr at SVG er en appliksjon i XML • Java har sterke klasser for XML • Dermed kan Java også lett håndtere SVG • simplediagram kan eksportere standard SVG

  6. SVG • SVG = Scalable Vector Graphics • Språket SVG beskriver vektorgrafikk, interaksjon og animering • SVG kan beskrive avanserte skalerbare visuelle effekter • Simplediagram definerer pakkene svg og xml • De støtter Java for svg

  7. Simplediagram • Simplediagram behandler kompliserte programmeringstemaer • Det kompliserte forenkles med abstraksjoner • De viktigste er tre interface • ISVGDiagram • ISVGFigure • ISVGElement

  8. Abstraksjon for hele diagrammet • Diagrammet kontraktfester to metoder • Domeneklassen Diagram realiserer

  9. Abstraksjon for hver figur • Figurer har tre kontraktfestede metoder • De realiseres av to domeneklasser • Thing • Connection

  10. Abstraksjon for hvert element • Hvert element har tre kontraktmetoder • Tre klasser i domenet realiserer dem

  11. Pakken figure Klassene i pakken figure inneholder mye logikk og strukturer Logikken og strukturene har høy kohesjon med gui-oppgavene Klassene har derfor høy kohesjon De bryter dermed ikke prinsippet for skille mellom gui og logikk Dette skillet gjelder først og fremst gui og domenelogikk

  12. Pakken uml • Pakken uml er en domeneklasse i dette prosjektet • Klassen definerer to-tre ting og en forbindelse fra språket UML • Klassene inneholder logikk og matematiske modeller • Logikken og strukturene har høy kohesjon med gui-oppgavene

  13. Iterator Pattern • Korteste vei mellom actor og usecase? • Usecase er en instans av EllipseElement • EllipseElement bruker Iterator Pattern for å finne relevante punkter • Logikken er basert på interfacet PathIterator

  14. Factory Method Pattern • Instansen av PathIterator bestemmer hvilken metode som skal brukes • Mønsteret er FactoryMethodPattern • Grunnen er at subklassene har avgjort hvilken av Shape-klassene som er instansiert • FMP betyr at en klasse overlater til en subklasse å foreta instansieringen. • FMP brukes ofte i stream- og reader-klasser. • Objektet element produserer det korrekte elementet som implementerer PathIterator. • PathIterator pi = element.getPathIterator();

More Related