:-) zmateni jazyku jako v Babylone. Ano pokud se bavime o scope
singleton, tak je vse v nejlepsim poradku.

2008/10/10 Jiří Mareš <[EMAIL PROTECTED]>:
> Ahoj nerozumime si,
>
> ty hovoris o singletonu jako navrhovem vzoru (kdy IoC kontejner neni potreba) 
> a ja hovorim o singletonu jako o moznosti,
> ze IoC vrati vzdy tu samou instanci (jednu jedinou). Mam pocit, ze i o to se 
> zajimal puvodni tazatel.
>
> Tam ja zadny problem nevidim, myslim, ze ani ty ne. Problem je jenom zase v 
> ty podelany terminologii, ktera neni
> jednoznacna.
>
> Jira
>
> Roman Pichlík napsal(a):
>> problem je v tom, ze jakmile zacnes pouzivat static pristup, tak
>> zivotni cyklus tveho objektu a toho jak s nim naklada IoC kontejner je
>> diametralne odlisny. Statickou metodu pro vraceni instance toho
>> singletonu muze volat kdokoliv kdykoliv bez ohledu na fakt, jestli uz
>> IoC kontejner udelal na tom objektu vsechnu svoji praci napr. nastavil
>> dependence. To potom vede k tomu, ze system padne nekde uplne jinde na
>> NPE v zavislosti na tom, jestli ve chvili volani byla instance
>> singletonu vytvorena.
>>
>> Dalsi nevyhoda singletonu je v tom, ze ackoliv je to managovana beana,
>> lidi ji pouzivaji jako singleton. Misto toho, aby byl ten objekt nekam
>> injectnuty se na tom miste pozuije klasicke volani staticke metody.
>> Muzu mit tedy dve beany, ktere na sobe neprimo zaviseji pres singleton
>> a opet muze dojit k tomu, ze se nevytvori ve spravnem poradi.
>>
>> To co v tom dokumentu chybi, a bude doplneno, je fakt, ze ve chvili
>> kdy clovek zacne pouzivat singleton jako takovy, tak zacne zavadet do
>> sveho systemu opet tesne vazby mezi objekty. Zavislost na singletonu
>> proste nezmenim v konfiguraci, ta je zapecena uvnitr kodu. Napriklad
>> chci misto singletonu pro testy injectnout mock object, jak to mam
>> udelat?
>>
>>
>> 2008/10/10 Jiří Mareš <[EMAIL PROTECTED]>:
>>> Ahoj Dagi,
>>>
>>> priznam se, ze dokument mi na tema proc nepouzivat singletony neodpovedel. 
>>> Kde je tedy problem, ja jen nevidim ...
>>>
>>> Diky
>>>
>>> jira
>>>
>>> PS. Pod pojmem singleton nemyslim staticke metody a statickou instanci ve 
>>> tride, ale nastaveni v xml atribut
>>> singleton="true" (podobne jako tazatel).
>>>
>>> Roman Pichlík napsal(a):
>>>> Pokud neni uvedeno jinak, tak IoC kontejner vytvari vsechny managovane
>>>> objekty (beany) v singleton modu. To znamena, ze na kontejner pripada
>>>> pouze a jenom jedna instance daneho objektu. Jinak navrhovy vzor
>>>> singleton je v prostredi, kde se pouziva iversion of control, spise
>>>> antivzorem a vede to k problemum popsanym v tomto dokumentu
>>>> http://docs.google.com/Doc?id=dn53qgm_7g69mtccp. Myslite
>>>>
>>>> Takze singletony v zadnem pripade nedelat!
>>>>
>>>> Hibernate session a nebo HTTP session?
>>>>
>>>>> Zdravím konferenci
>>>>>
>>>>> Ve webové aplikaci používám Struts + Spring + Hibernate.
>>>>> Pro načítání dat požívám klasickou DAO vrstvu.
>>>>> DAO třídy si přes applicationContext Springu vstříkuji ( injection ) do 
>>>>> tříd s aplikační logikou (Action class ve Struts).
>>>>> DAO třída obsahuje klasické CRUD operace.
>>>>>
>>>>> Dotaz:
>>>>> Mohu nastavit DAO třídy jako singletony? Mám pocit, že by mi to mohlo 
>>>>> ušetřit nějaké zdroje, ale nejsem si jistý zda je to bezpečné z hlediska 
>>>>> concurrency přístupů.
>>>>>
>>>>> Ve webové aplikaci by měly být přístupy k objektům ThreadSafe, ale četl 
>>>>> jsem o nějakých vyjímkách (např. session).
>>> --
>>> Jiří Mareš (mailto:[EMAIL PROTECTED])
>>> ČSAD SVT Praha, s.r.o. (http://www.svt.cz)
>>> Czech Republic
>>>
>>>
>>
>>
>>
>
> --
> Jiří Mareš (mailto:[EMAIL PROTECTED])
> ČSAD SVT Praha, s.r.o. (http://www.svt.cz)
> Czech Republic
>
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */

Odpovedet emailem