Avatar billede jps6kb Novice
08. juni 2005 - 19:36 Der er 7 kommentarer og
1 løsning

Udpensling af Visitor pattern

Hej.

Kan nogen tvære det helt ud, hvad Visitor er, og hvorfor det er smart ?  :)
Avatar billede arne_v Ekspert
08. juni 2005 - 19:51 #1
visitor pattern er smart når du har et antal klasser som du skal foretage mange
operationer på og du helst vil have logikken i de operationer i deres egen klasser
fremfor i data klasserne
Avatar billede arne_v Ekspert
08. juni 2005 - 19:52 #2
det gør du ved at kalde data klassens accept metode med din visitor
den kalder så vistorens visit klasse der gør arbejdet
Avatar billede arne_v Ekspert
08. juni 2005 - 19:53 #3
det er ikke så meget anvendt i praksis
Avatar billede simonvalter Praktikant
08. juni 2005 - 19:53 #4
http://www.patterndepot.com/put/8/visitor.pdf

Jeg har fornyligt brugt hvor jeg havde et træ med en masse forskellige noder.. når jeg travaserede træet så kunne jeg flytte behavior ud af noderne og over i en samlet klasse.. en visitor klasse ville så lave en grafisk representation af træet, en anden brugte jeg til at analysere træet ... osv.
Avatar billede jps6kb Novice
08. juni 2005 - 19:54 #5
Hej arne.

Tak for dit hurtige svar.

Jeg er ikke helt sikker på at jeg er med..

Hvis jeg har Konto-klasser.. 4 forskellige typer.. hvad ville fidusen så være der ?
Hvad kan jeg med dem, som ville have været mere besværligt uden Visitor ?
Avatar billede arne_v Ekspert
08. juni 2005 - 20:07 #6
du kan lade alle dine 4 konto klasser have en accept metode og så kan du lave
731 visitor klasser og kalde accept med en af dem som så vil få den til at kalde
visit metoden i visitor

du undgår dermed at have 731 statistik metoder i dine 4 konto klasser og når
du skal lave noget kode der kan udregne statistik nummer 732 så laver du bare
visitor klasse nummer 732 uden at rette i konto klasserne
Avatar billede jps6kb Novice
08. juni 2005 - 20:10 #7
Ahh.. jeg ser.. takker for det.. jeg er med.. smid et svar ;)
Avatar billede arne_v Ekspert
08. juni 2005 - 20:13 #8
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester