[python] navrhove vzory v Pythonu

Petr Prikryl Prikryl na skil.cz
Úterý Leden 4 13:23:37 CET 2005


Radek Svarz napsal...
> Navazuji na prispevek Petra Prikryla s jinym topicem. Libilo
> se mi, jak vysvetlil Singleton. Nevite, kde by byly navrhove
> vzory vysvetlene s pouzitim Pythonu?

... a má pravděpodobně na mysli tento odstavec...
>
> Singleton je objekt, u kterého je zajištěno, že existuje v
> jediné instanci. To znamená, že i když nemusí mít přidělené
> jméno, vždy se nějak dostanu k jedinému objektu. Pokud si
> nějak zajistím přístup k objektu této třídy, pak je
> zajištěno, že budu pracovat s jediným možným a tím samým
> objektem. Typicky se k němu nedostávám přes jméno, ale
> pokusím se o vytvoření instance vyhrazené třídy. Třída ale
> zajistí, že se objekt vytvoří jen poprvé a při ostatních
> pokusech se místo nových instancí vracejí reference na již
> existující, jediný objekt. Jde návrhový vzor, který se
> používá napříč různými OO jazyky, ale v různých jazycích se
> implementuje různým způsobem.

Stačí zkusit google "python singleton":

http://c2.com/cgi/wiki?PythonSingleton


Implementace singletonu Garyho Robinsona:

http://www.garyrobinson.net/2004/03/python_singleto.html
http://www.garyrobinson.net/singletonmixin.py

... vylepšená verze:

http://www.garyrobinson.net/2004/03/another_python_.html
http://www.garyrobinson.net/singletonmixin.py

Z pythonovské kuchařky (se starším přístupem k třídám, ale 
možná jednodušší k pochopení):

http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52558

Návrhové vzory obecně:

http://c2.com/cgi/wiki?DesignPatterns
http://c2.com/cgi/wiki?SingletonPattern
http://c2.com/cgi/wiki?PythonSingleton

Bruce Eckel: Thinking in Python (nedodělaná "kniha")

http://www.mindview.net/Books/TIPython
http://64.78.49.204/TIPython.zip

Petr

-- 
Petr Prikryl (prikrylp at skil dot cz) 



Další informace o konferenci Python