Prosjektet transparente lag Composite og tegnende objekter Decorator og gui-kontrollere Factory Method Iterator.

Slides:



Advertisements
Liknende presentasjoner
Objektorientert systemutvikling og UML  OOSU er den mest anvendte metoden på både store og små prosjekter  UML er det mest anvendte beskrivelsesspråk.
Advertisements

Del 3 : Patterns (Kap 16 – kap 20, Craig Larman) Arne Maus Inst. for informatikk, UiO.
Memento Object Behavioral Design Pattern. Lagre og hente tilstander • Et system inneholder ofte mekanismer som trenger gjenbruk av tilstander • Memento.
Sekvensdiagram En sekvens viser hvordan objekter samarbeider om en oppgave Diagrammet viser hvem som har kontrollen til enhver tid Det spesifiserer nøyaktig.
Realisering av Software Patterns Software Design Patterns Realisering med kode Refaktorering Gjenkjenning av mønstre.
Introduksjon til objektorientert programmering i PHP
Objektorientert systemutvikling og UML
IMT OOSU 28.sept Dagens tema : forts. DESIGN PATTERNS ObjektOrientert Design = Bevissthet i tildeling/fordeling av ansvar til softwareklasser for.
Beslektede algoritmer. Isolere klient fra algoritme  Klienter trenger av og til helt forskjellige måter å gjøre det samme på  Men klienten selv kan.
Chain of Responsibility GoF mønster Operasjonelt (behavioral)
Unified Process – Elaboration Iterasjon 3
Variasjoner i subklasser.  Prinsippskissen er meget enkel  En abstrakt klasse har en konkret metode og en abstrakt metode  Hver subklasse realiserer.
Mønstre og tekniske applikasjoner
Heiskontrollsystem Gruppe 7 Arne E. Hansen Martin Stenmark Cecilie Vådahl Gunhild Kristiansen Kristian Vågen Magnus L. Asbjørnsen.
IS-102 Klassedefinisjoner
Java Server Faces (JSF) en introduksjon Frode Eika Sandnes.
C# for javaprogrammerere
Systemmodeller In 140 Sommerville kap. 7. Mål Forstå hensikten med kontekstmodell Forstå ideene bak –oppførselsmodellering –datamodellering –objektmodellering.
Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”
Læring og tenkning Systemutvikling er læring Gjensidig respekt og samarbeid Følge en konkret oppskrift Velge blant flere oppskrifter Nå målet uten oppskrift,
Sammensatt struktur Visning av intern struktur i et samarbeid mellom objekter Fokuserer på ett av en klasses flere mulige ansvar.
GRASP General Responsibility Assignment SP GRASP er et hjelpemiddel for å lære om OD GRASP er retningslinjer for å fordele og tildele ansvar mellom klasser.
En kort innføring i Design Patterns
GoF GoF er fire systemutviklere, Gang of Four GoF fikk utgitt boken Design Patterns høsten 1994 Boken Design Patterns er en klassiker Design Patterns beskriver.
Tilstandsmaskiner Tilstandsmaskiner kan beskrives med tilstandsdiagrammer Nivået er teknisk Tilstandsdiagrammet viser ett objekts tilstander og transisjoner.
Forbindelser Diagrammer i UML består av ting med forbindelser
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
21.Januar 2003 Design Patterns 1.Kort repetisjon av viktige patterns 2.Oppgave 3.Felles gjennomgang Bendik Bygstad Høgskolen i Vestfold.
Domeneklasser En applikasjon kan ha domenesvake og domenesterke klasser.
Koblingspunkter De fire forbindelsene (avhengighet, assosiasjon, generalisering og realisering) definerer konkrete koblingspunkter I tillegg har UML mer.
Strukturerende elementer i UML
Klassediagrammer Klassen er en grunnleggende enhet i et objektorientert system Alle kan finne klasser i et domene Det å finne klasser er en intuitiv aktivitet.
Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”
Abstraksjon av gui.  Cooper (ajax) bruker uttrykkene transient og sovereign applications.  Tradisjonelle web-sider var tidligere alltid transiente applikasjoner.
Bygging av gui for binærkode Prosjektet simpletidy.
XMLBeans av Vegard Skipnes (s141721). Agenda Hva er XMLBeans? Historie Eksempel  XML Schema  XML fil  Bruk i java Innstallering Min mening Sammendrag.
A UML-based Design Environment for Interactive Applications Paulo Pinheiro Da Silva og Norman W Paton IEEE, Second International Workshop on User Interfaces.
Combining Compound Conceptual User Interface Components with Modelling Patterns - a Promising Direction for Model-based Cross-platform User Interface Development.
Design Patterns Iterator & Mediator. Gruppe 8 Presentasjonsgruppe:Resten av gruppen: Marianne AtesAndrè Johansen Tom Vidar LundeHege-Kristin Johansen.
Singleton & Adapter Pattern Gruppe 3. Singleton Pattern Sørger for at en klasse kun kan ha en instans Vanligvis implementert med globale variabler –Singleton.
Composite & Decorator Patterns Patterns Composite Spørsmål? Introduksjon Decorator Resymé Gruppe 4 Ivar Bonsaksen Remi Karlsen Jonas Lepsøy Stian Rostad.
Design patterns: State og Strategy
INF 295 Algoritmer og datastrukturer Forelesning 6 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
SVG Scalable Vector Graphics When pixels no longer does it for ya.
Innkapsling av request. Køing, logging, angre Command tilhører gruppen av ”behavioral patterns” Instanser av mønsteret leder til instanser av forespørsler.
Biblioteket easylib og proped Konfigurering og simpletidy.
Composite GoF Structural Pattern. Alle kjenner Composite Alle som har brukt lister organisert som trær i brukermiljøer, kjenner Composite Pattern.
XML og Composite Pattern Mønstre og bygging av xml-tre.
Username anonym Password s1mpletransport Host hve3920.hive.no Path /home/transport.
Aktivitetsdiagrammer
Verktøy i faget ”Objektorientert systemutvikling og UML” Eclipse Together Architect for Eclipse
Billettautomat med felle. Forbedret automat Klasse og operasjon i aktiviteten Klassen er Billettluke Operasjonen er pengerTilbake() Skilletegnet er dobbelt.
CORBA Noen hull som må fylles: ORB Object Adapters CORBA services IDL Factory Objects.
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
Objektorientert utforming In 140 Sommerville kap. 12.
Bruk av geometrityper Eller: I applikasjonsskjema skriver vi:
Generelle definisjoner Oppslagsverk nå og senere! Finnes også i dokumentet Retningslinjer for datamodellering i UML UML-seminar 12. og 13. mars 2003 SOSI-sekretariatet.
Objektorientert design
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Byggeklosser i UML klassediagram
Objektorientert design In 140 Sommerville kap 12 – del 1.
Kapittel 12 Samlingar Samlingar og datastrukturar Ei samling (collection) blir brukt til å oppbevare og handtere andre objekt ArrayList – klassen.
Use case realisering Designmodellering Kirsten Ribu Kapittel 4 UML Distilled.
Arv Gjenbruk. Begreper Super Overriding – Samme signatur Polymorfi – «en ting kan bety mange ting»
Tilstandsmaskiner Tilstandsmaskiner kan beskrives med tilstandsdiagrammer Nivået er ofte teknisk, men kan også beskrive biologiske tilstander Tilstandsdiagrammet.
Strukturerende elementer i UML
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
Koblingspunkter De fire forbindelsene (avhengighet, assosiasjon, generalisering og realisering) definerer konkrete koblingspunkter I tillegg har UML mer.
Billettautomat med felle
Koblingspunkter og diagramtyper
Utskrift av presentasjonen:

Prosjektet transparente lag Composite og tegnende objekter Decorator og gui-kontrollere Factory Method Iterator

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

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

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

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

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

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

Abstraksjon for hele diagrammet Diagrammet kontraktfester to metoder Domeneklassen Diagram realiserer

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

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

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

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

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

Factory Method Pattern Instansen av PathIterator bestemmer hvilken metode som skal brukes Mønsteret er Factory Method Pattern 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();