[Tutor PyCZ] Had - jeste jednou
Martin Petr
martin261 na gmail.com
Úterý Květen 2 21:57:59 CEST 2006
Dobry vecer vsem!
Vypada to moc hezky, skoda, ze na podrobnejsi studium kodu ted bohuzel
nemam cas. Za mesic maturuju. :o( To je taky trochu i duvod toho, ze
jsem to podle toho OOP modelu nezpracoval uz driv...snad nebude vadit,
kdyz se o to pozdeji pokusim i ja ;o)
Vidim, ze se tam objevujou i ty thready, ktery jsem prvne navrhoval,
takze se urcite zase naucim neco noveho :o)
Martin
PS: Neni zac ;o)
Jiri Vit napsal(a):
> Zdravim Python-tutor,
>
> protoze jsem se tu nedavno rozplyval nad OOP vzorama bez konkretnich
> prikladu, udelal jsem pro inspiraci vlastni verzi hada, ktery se tu
> nedavno objevil,
> pricemz jsem pouzil OOP vzor Mediator (prostrednik).
>
> Vyhody tohoto modelu v hadovi:
> - trida mediator (ve hre Direktor) zprostredkovava komunikaci mezi hernimi
> objekty
> - tridy hernich objektu reprezentuji samostatne datove entity o mohou se
> ladit samostatne i v interpretu
> - tridy hernich objektu se navzajem neznaji, znaji jen sveho mediatora
> - eventy z klavesnice obsluhuje take az mediator, tridy hernich objektu o
> nich nic nevi
> - trida s instanci Console je jen dalsim hernim objektem, ktery mediator
> ridi - lze tak program
> lehce predelat do jineho GUI, aniz by se muselo cokoliv menit v
> tridach hernich objektu.
> - mediator reaguje ve chvili, kdy se nejaky herni objekt zmeni vyvola zmenu
>
> Mozne nevyhody, ktere mohou casem vyplynout z tohoto modelu:
> - s rostoucim poctem hernich objektu se trida mediator zvetsuje a je stale
> slozitejsi
> - v teto konkretni implementaci mediator vytvari objekty "natvrdo". To by
> slo
> obejit lepsim komunikacnim modelem mezi mediatorem a jeho podrizenym
> stadem :)
> a vytvorenim seznamu tak, aby se ovecky mohly dynamicky prihlasovat ke
> svemu mediatorovi
> (pro zajemce doporucuji prostudovat OOP vzor Observer)
>
> hada si muzete vyzkouset odsud:
> http://jirivit.com/download/python/had/had.py
>
> PS: dekuji Martinovi Petrovi za inspiraci ;-)
>
> Jirka Vit
Další informace o konferenci Tutor