[UML] Klasse die eigenlijk overal nodig is

Pagina: 1
Acties:

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 06-05 09:01

Kaastosti

Vrolijkheid alom!

Topicstarter
Nu het programmeerwerk bijna gedaan is en het eigenlijk niet lijkt op wat ik in m'n hoofd had, is het tijd om het geheel te gaan ontwerpen, een beetje de standaard werkvolgorde van een student ;) Daar komt ineens weer UML de hoek om kijken, waar ik al een aantal jaar helemaal niets meer mee gedaan heb.

Uiteraard de boeken weer uit de kast gepakt en lustig door gaan lezen hoe ik alles wat ik aan wil duiden ook alweer weer moet geven in zo'n diagram. Een pijltje, stippellijntje, blokje, ruitje etc. alles heeft weer een aparte betekenis en het moet natuurlijk wel kloppen allemaal. Het is PHP, dus van nature niet echt een schoolvoorbeeld van OO-coding, maar het is in ieder geval een poging tot.

Nu heb ik een klasse Database die al het databaseverkeer afhandelt. Je geeft een query op en op welke database deze uitgevoerd moet worden. Vervolgens kun je met fetchOne() of fetchAll() de resultaten van de query uitlezen. In principe een mooi systeem, aangezien al het databaseverkeer nu via 1 klasse gedaan wordt.

Die klasse is echter in elke andere klasse nodig, er wordt immers overal data uit de database getoverd. Nu kan ik natuurlijk die Database klasse in het midden van m'n ontwerp zetten en als een gek lijntjes gaan tekenen, maar ik ben er van overtuigd dat dit mooier (lees: overzichtelijker) moet kunnen. Is er een officiele manier om zoiets aan te geven, want ik zal vast niet de eerste zijn die zoiets probeert. :)

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Je zou je diagram kunnen opsplitsen naar de onderdelen van je project of er een standaard patroon van kunnen maken. Je maakt dan 1x met een diagram wat als referentie dient voor alle andere stukken maar je je Database klasse nodig hebt. Je eigen design pattern maken dus.

www.fendt.com | Nikon D7100 | PS5


  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 06-05 09:01

Kaastosti

Vrolijkheid alom!

Topicstarter
Mjah maar het is verder gewoon een klassediagram... en dat heb ik ook nodig :) Ik heb wel zitten lezen over packages, maar da's een een ander niveau van plaatjes tekenen. Ik zal ongetwijfeld een soort splitsing kunnen maken, maar uiteindelijk moet het allemaal gebeuren... en bouwen die klassen op elkaar om het complete systeem te laten werken.

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Je kunt een singleton stereo type toevoegen, dan lijkt me dat wel duidelijk.

Noushka's Magnificent Dream | Unity


  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 06-05 09:01

Kaastosti

Vrolijkheid alom!

Topicstarter
Alleen heeft een singleton klasse niet echt heel veel zin in PHP4... die kwam ik namelijk ook tegen als mooie design pattern, maar aangezien versie 4 nog niet OO is, kan ik 'm ook niet forceren om maximaal 1 instantie van een object aan te maken :)

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Kaastosti schreef op woensdag 04 mei 2005 @ 10:19:
Alleen heeft een singleton klasse niet echt heel veel zin in PHP4... die kwam ik namelijk ook tegen als mooie design pattern, maar aangezien versie 4 nog niet OO is, kan ik 'm ook niet forceren om maximaal 1 instantie van een object aan te maken :)
Je kunt toch wel regels opstellen die gevolgd moeten worden. Als je duidelijk maakt dat het een singleton is waarvan de instance alleen opgehaald mag worden mbv. een bepaalde functie, dan moet dat toch goed gaan? Het gaat niet om de taal maar om de princiepes. Als je iets meer moeite moet doen om het zo voor elkaar te krijgen dan geeft dat toch niet? Ik zie het probleem niet echt.

Overigens lijkt me dat hier niet echt gepast. Database lijkt meer een facade welke toegang verleent tot een bepaalde package. In princiepe is het dan overbodig om deze class overal in je diagrammen toe te voegen. Als het maar ergens gedocumenteerd is.

[ Voor 19% gewijzigd door Michali op 04-05-2005 10:43 ]

Noushka's Magnificent Dream | Unity


Verwijderd

Ik zou er gewoon een singleton van maken: dat je dit vervolgens niet kan implementeren omdat je taal gelimiteerd is, doet daar niks aan af.

Oja, singletons kun je wel maken in php4, zij het niet echt netjes.
Pagina: 1