Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

 Jens Bennedsen 2002Objektorienteret systemudvikling Persistens.

Lignende præsentationer


Præsentationer af emnet: " Jens Bennedsen 2002Objektorienteret systemudvikling Persistens."— Præsentationens transcript:

1  Jens Bennedsen 2002Objektorienteret systemudvikling Persistens

2  Jens Bennedsen 2002Objektorienteret systemudvikling Klassemodel vs. relationel model Klasse => tabel –Simple attributter => felter –Reference = associering Associering => fremmednøgle Hierarkier –En tabel pr klasse –En tabel pr. konkret klasse –En tabel pr hierarki ID –Ingen semantik!!!

3  Jens Bennedsen 2002Objektorienteret systemudvikling Template Method Intent At definere grundstrukturen i en algoritme, men udskyde den konkrete fastlæggelse af enkelte trin til subklasser. Subklasser kan redefinere elementer i en algoritme, men grundstrukturen ligger fast. Motivation

4  Jens Bennedsen 2002Objektorienteret systemudvikling Template Method (2) Class Application { public void OpenDocument(String name) { if ( !CanOpenDocument(name) ) { // cannot handle this document return; } Document doc = DoCreateDocument(); if ( doc ) { _docs.AddDocument(doc); AboutToOpenDocument(doc); doc.Open(); doc.DoRead(); } private Vector _docs; }

5  Jens Bennedsen 2002Objektorienteret systemudvikling Template Method (3) class abstract Shape { public Shape(int x, int y) {…} public void move(int dx, int dy) { hide(); _x+= dx; _y+= dy; show(); } public abstract void show(); public abstract void hide(); protected int _x; protected int _y; }; Vores ”gamle kending” ’move’ fra figurhierarkiet er en Template Method:

6  Jens Bennedsen 2002Objektorienteret systemudvikling Template Method (4) Structure

7  Jens Bennedsen 2002Objektorienteret systemudvikling Ur is presented as depends on Clock Hour: 11 Min: 38 Sek: 25 MSek:..

8  Jens Bennedsen 2002Objektorienteret systemudvikling Regneark is presented as depends on Celler D7: 25 D8: 10 D9: 65 Lagkage- diagram

9  Jens Bennedsen 2002Objektorienteret systemudvikling CAD-system is presented as depends on House DoorA Roof1 Window3 Browser...

10  Jens Bennedsen 2002Objektorienteret systemudvikling CASE-værktøj class Account { public void deposit(...) public void withdraw(...) } class ChequeAccount extends Account {... }... is presented as AST depends on Browser...

11  Jens Bennedsen 2002Objektorienteret systemudvikling Generelt: Subject-Observers Subject Observer 1Observer 2Observer n... depends on is presented as

12  Jens Bennedsen 2002Objektorienteret systemudvikling Problem Ændring af den interne tilstand i en komponent kan bevirke inkonsistens i andre eller på tværs af komponenter. Hvordan kan vi reetablere konsistens således at: –informationsudbyderen (subject) ikke afhænger af forbrugerne (observers) –forbrugerne (observers) ikke skal være kendt på forhånd

13  Jens Bennedsen 2002Objektorienteret systemudvikling Løsning Implementer en “change propagation mechanism” mellem informationsudbyder (Subject) og forbrugere (Observers). Subject vedligeholder et register over Observers og gør alle Observers opmærksomme på ændringer af tilstand- en. Observer erklærer en (virtuel) update-funktion som kaldes af Subjects “change propagation mechanism”. Konkrete Observers implementerer update-metoden...

14  Jens Bennedsen 2002Objektorienteret systemudvikling Løsning, struktur abstrakt (videre-)binding

15  Jens Bennedsen 2002Objektorienteret systemudvikling Løsning, dynamik SubjectObserver 1Observer 2 attach(this) setData notify update getData update getData


Download ppt " Jens Bennedsen 2002Objektorienteret systemudvikling Persistens."

Lignende præsentationer


Annoncer fra Google