De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

OOS Object geOrienteerd Software-ontwerp - 2

Verwante presentaties


Presentatie over: "OOS Object geOrienteerd Software-ontwerp - 2"— Transcript van de presentatie:

1 OOS Object geOrienteerd Software-ontwerp - 2
Generalisatie Compositie Gedrag Hoe ontwerpen?

2 Generalisatie

3 Generalisatie voorbeeld onvoorwaardelijk overerven van: eigenschappen
Klant Zakelijke Klant Prive Klant onvoorwaardelijk overerven van: eigenschappen gedrag constraints

4 Generalisatie voordelen
gevalsonderscheid duplicatie van code onderhoudbaarheid betere typecontrole maar er zijn ook nadelen …

5 Generalisatie versus Specialisatie

6 Type is bevroren Exemplaar Aanwezig Uitgeleend Beschikbaar
leenUit(Lid) komtTerug() legApart() Aanwezig Uitgeleend Beschikbaar

7 State pattern Toestand Exemplaar Aanwezig Uitgeleend Beschikbaar 1
leenUit(Lid) komtTerug() legApart() Aanwezig Uitgeleend Beschikbaar 1 state

8 Compositie

9 Compositie bij 1 parent verantwoordelijkheid life-time dependency
Logical Drive letter : Char Root bij 1 parent verantwoordelijkheid life-time dependency

10 0..* Container Onderdeel public class Container {
private ArrayList onderdelen; public Container() { onderdelen = new ArrayList(); } public void addOnderdeel(...) onderdelen.add( new Onderdeel(...) ); public class Onderdeel { Onderdeel(...) { }

11 1 LogicalDrive Root public class LogicalDrive {
private char driveletter private Root root; public LogicalDrive(char letter) { driveletter = letter root = new Root(); } public class Root extends Directory { Root() { super(); }

12 Aggregatie Folder name : Text File 0..* compositie Folder name : Text File 0..* aggregatie Folder name : Text File 0..* 1 associatie Vervang elke aggregatie, die geen compositie is, door een associatie met multipliciteit 1 (of soms zelfs 0..1)

13 Navigatie 0..* 0..* Land Plaats Weg Route 1 2 0..* 1 ◄ ligt in
naam: Text Land naam: Text pos: Position Plaats afstand: Real Weg /afstand: Real Route 0..* 0..* 1 2 0..* 1 ◄ ligt in ◄ uiteinden ◄ bestaat uit

14 Compositie-procedure
life-time dependency extra compositieklassen toevoeg-, verwijder- en zoekmethoden afgeschermde constructor

15 Toe te voegen compositie
Aarde naam: Text Land naam: Text Land naam: Text pos: Position Plaats naam: Text pos: Position Plaats afstand: Real Weg afstand: Real Weg /afstand: Real Route /afstand: Real Route 0..* 0..* 1 2 0..* ◄ ligt in ◄ uiteinden ◄ bestaat uit

16 Gedrag

17 Standaardgedrag Constructor(en) Inspectie Wijzigiging

18 Constructor Niet-optionele eigenschappen: Via parameter Defaultwaarde
Interne berekening

19 Inspectiemethoden Getters Boolean-eigenschappen Zoekmethoden

20 Wijziging Read-only eigenschappen Setters Add, Remove

21 Hoe ontwerpen?

22 Ontwerpproces OMT – heuristieken CRC – cards Eerst toestand dan gedrag
Inventariseer alle soorten van informatie Controleer of alle informatie in CD voorkomt Standaardgedrag op basis van toestand Verfijnen van gedrag

23 Naamgeving Klassenaam  Objectnaam Meervoudige eigenschap  meervoud
Rolnaam  Associatienaam

24 Deze week Toepassen van compositie. Navigatierichting toevoegen.
Standaardgedrag toevoegen.

25 Volgende week Scenario’s Sequentiediagram
Coderen aan de hand van het klassendiagram


Download ppt "OOS Object geOrienteerd Software-ontwerp - 2"

Verwante presentaties


Ads door Google