Page 2 of 2 FirstFirst 1 2
Results 16 to 30 of 30

Thread: oo theorie

  1. #16
    Originally posted by Marcel
    Waarom is TKaart specifiek voor Delphi? Het is een afspraak onder Delphi programmeurs, maar Delphi dwingt dat nergens af en je zou het ook in een andere taal kunnen gebruiken. Of je er nou een T of een O voor zet heeft erg weinig met je verdere ontwerp te maken.

    En ja, ik denk in OO inderdaad als een programmeur / analist. Als OO een doel op zich wordt begin ik er niet aan. OO is een tool, geen doel. Maar daar heb ik al eens een artikel over geschreven geloof ik

    Jouw link vind ik een goed voorbeeld van hoe ik het in de praktijk nooit zou doen. We hebben ook op de BorCon al eens discussies gehad over zulke methodes en de conclusie was eigenlijk steeds hetzelfde: als je je ontwerp zo ver door gaat voeren gaat de balans veel te ver naar het ontwerp liggen. Aan bouwen kom je dan niet meer toe.

    Ik heb in de praktijk ook al een aantal keer meegemaakt dat prachtig ontworpen projecten niet meer te bouwen waren omdat de modellen veel te theoretisch werden. Uiteindelijk werden dan de modellen opzij geschoven ern werd de eindgebruiker gebeld: "kun je even in het kort vertellen wat je programma moet doen"

    Vandaar dat ik het altijd wat praktischer aanpak.
    Wat je zegt is zeker waar maar (helaas) wordt nog steeds op scholen en boeken dit soort procedures en rompslomp uitgelegd. Wat ik tot nu toe hebt gemerkt via stage(s) dat het dus helemaal niet zo nauw genomen is.

    En over die T ==> tis mierenneuken maar zo vind ik het

    @CompuChip: Mooi begin voor een OO artikel.
    Wat vragen en opmerkingen :
    -Volgens mij mist er nog een lijn van klasse PowerUpMgr naar PowerUp. Zonder die lijn geef je aan dat de PowerUpMgr via de klasse Spel en VeldObject gaan voordat ie bij het object PowerUp mag komen.
    -Waarom gebruik je bij Create van TSpel en TPowerUpMgr reintroduce?
    -Is het niet beter om TSpel een private variabele met lijst van alle mogelijke velden bij te houden? Nu maak je een object van de klasse TVeldObject die eigenlijk niet weet welke coordinaat heeft. TVeldObject weet namelijk niet wat de laatste aangemaakte coordinaten zijn en kan ook niet zien bij TSpel wat de max coordinaten zijn. De veldgrootte zijn namelijk private.
    Last edited by Link; 13-Apr-04 at 21:51.

  2. #17

  3. #18
    weer wat tijd gevonden om aan mijn Toep project te prutsen.

    Zelf op papier een diagram proberen te tekenen en dan kom je spelerderwijs toch een heel eind!

    Wilde ik dit in een mooi plaatje zetten, om hier eens te laten becommentarieren, en terecht gekomen bij ModelMaker.
    Tot het volgende diagram ben ik gekomen (nog niet compleet):


    vragen/problemen:
    - ik heb al allerlei methods en properties bij de objecten gedefinieerd, maar hoe zorg ik ervoor dat deze ook in het diagram zichtbaar zijn? (is wat makkelijker voor jullie)

    - ik heb nog geen relaties aangelegd, omdat ik niet precies begrijp wanneer ik ze gebruik. BV TSpel zal te maken hebben met TKaartCollection, TSpelerCollection en TVeld, doe ik dit door deze als property aan TSpel toe te kennen, of leg ik dan een relatie van TSpel naar bv TVeld?

  4. #19
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Diagram-> Rechtsklikken-> Diagram properties-> Tabblad symbol style-> Custom Member Type Filter en aanvinken wat je wil zien.
    Je krijgt dan zoiets (niet naar de inhoud kijken, is gewoon een voorbeeld):
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	toepen.png 
Views:	319 
Size:	16.6 KB 
ID:	1657  
    All methodologies are based on fear. -- Kent Beck.

  5. #20
    ok dat knopje heb ik gevonden,

    dit is mijn diagram tot nu toe, maarre kan iemand me uitleggen hoe het zit met die relaties, en ander commentaar op dit ontwerp?
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	toepen.jpg 
Views:	283 
Size:	49.2 KB 
ID:	1658  

  6. #21
    Hoi,

    dat kun je dus doen door bijvoorbeeld bij TKaartCollection een property toe te voegen van het type TKaart. Zoals je in het voorbeeld van Dirk kunt zien.

    Succes

    edit: of is het nu andersom .. een property bij TKaart toevoegen van het type TKaartCollection.. (maar dat is in ieder geval het idee)

  7. #22
    maar TKaartCollection heeft toch geen direct property van TKaart? Ik zal toch ergens intern (private) een lijst moeten bijhouden van TKaarten die in de collection zitten.

    En TSpelerCollection heeft een interne lijst van TSpeler, maar dit hoeft toch niet aan de buitenwereld bekend te zijn? Die kunnen misschien wat dingen opvragen/veranderen via de methods, maar TSpeler is denk ik geen directe property van TSpelerCollection.

    Maar mijn OO is niet van hoogstaand niveau, dit is mijn 1e ontwerp in jaren en op school heb ik er ook niet veel van geleerd. (HBO Informatica Eindhoven, OO uitleg was daar niet zo denderend)

  8. #23
    ik ga toch maar eens met het model dat ik tot nu toe heb uitgevogeld aan de slag (zie laatste plaatje)

    Maar hoe exporteer ik mijn ModelMaker project naar de verschillende units?

    In Delphi IDE heb ik er een menu "ModelMaker" bij gekregen, maar ik krijg het met geen mogelijkheid voor elkaar dat die mij klasses omzet naar .pas files en deze aan mijn project toevoegt.
    Kan iemand helpen?

    Het is me wel gelukt om van een Delphi applicatie (helemaal leeg), deze te exporteren naar ModelMaker maar niet andersom..

    Ben er al uit, moest eerst de units met de hand aanmaken en de classes daar in plempen
    Last edited by trekker22; 23-Apr-04 at 22:10.

  9. #24
    Senior Member Anders's Avatar
    Join Date
    Dec 2001
    Location
    Doetinchem
    Posts
    1,415
    Originally posted by helena
    Zie ook mijn boekentip hier: http://www.nldelphi.com/Forum/showth...3074#post13074
    Helaas is Sybex Nederland er niet meer en is het boek niet meer te vinden - of anders gezegt: "Ik kan hem niet vinden".

    Iemand die mij kan helpen?
    Anders

    May your code compile!

  10. #25
    Object Design, in het engels, door Wirfs-Brock en McKean, is een book dat je kan helpen bij het beter begrijpen wat oo nu eigenlijk inhoud. Het is niet taal-specifiek.

  11. #26
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Vind ik ook wel een fijn boekje, dat laatste van Rebecca
    All methodologies are based on fear. -- Kent Beck.

  12. #27
    als iemand ergens een leuk OO e-boek weet... hoor ik het graag, momenteel geen geld om in boeken te investeren.

    maar af en toe tijd om aan dit projectje te werken, maar nu weer ff 2 vraagjes:

    - ik had het idee om 3 TKaartCollections aan te maken, 2 bij TSpel en 1 bij TSpeler.
    TSpel: TKaartCollection die de volledige toep-stok bevat.
    TSpel: TKaartCollection die de gespeelde kaarten van het spel bevat
    TSpeler: TKaartCollection die de kaarten in de hand van de speler bevat.

    Mijn idee was dan om de kaarten tussen deze TKaartCollection op en neer te schuiven.
    bv. Spel start
    toep-stok wordt gevuld
    elke speler zijn TKaartCOllection wordt gevuld vanuit de toep-stok
    elke keer als een speler een kaart legt, gaat deze van de hand van de speler naar de TKaartCollection met de gespeelde kaarten.

    Wat vinden jullie van dit idee? Zouden jullie het anders oplossen?

    2e vraag:
    - ik ben aan het twijfelen hoe ik de kaarten beheer in een TKaartCollection,
    zou ik dit doen met een TCollection of met een array waarin de betreffende TKaarten zitten?
    Hoe zou ik aan een TCollection een methode "schudden" kunnen toevoegen?
    Als ik een array gebruik lijkt me dit veel handiger...
    Suggesties?

    Bedankt voor het meedenken!

  13. #28
    Een collection kun je ook wel schudden. Ik heb ooit een collection gemaakt die gesorteerd kon worden. Op dezelfde manier kun je een collection natuurlijk ook schudden. Je verandert simpelweg de index van het item. Als je elk item op een willekeurige andere plaats hebt gezet, dan is het geschud.

    Toch vraag ik me af of een TObjectList niet net zo handig zou zijn. De Collection biedt een aantal extra dingen die je in deze situatie waarschijnlijk niet nodig gaat hebben, en voor het goed kunnen gebruiken van een collection, moet je eigenlijk een afgeleide maken van TCollection én TCollectionItem en van beide een flink aantal methods en properties overriden.. Een TObjectList is al af.
    1+1=b

  14. #29
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Schudden (List of array, maakt niet uit): high performance card shuffling algoritm, en de uitleg en voorbeelden : hier en hier
    All methodologies are based on fear. -- Kent Beck.

  15. #30
    bedankt, ik heb het meteen toegevoegd, zo krijg ik langzaam mijn spelleke bij elkaar

    Maar ander vraagje: bij sommige kaartspelletjes zie ik dat er gebruikt wordt gemaakt van de klasse TBoek, wat houdt deze klasse in?

    EDIT:

    volgens mij is een TBoek gelijk aan mijn TKaartCollection? Gewoon een bepaalde stok kaarten dus...
    Last edited by trekker22; 28-Apr-04 at 19:21.

Page 2 of 2 FirstFirst 1 2

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. De theorie achter een class methods
    By Dees in forum Algemeen
    Replies: 15
    Last Post: 23-Jul-04, 15:51
  2. Replies: 18
    Last Post: 30-Sep-03, 20:42

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •