Thread View: pl.comp.objects
47 messages
47 total messages
Started by dOvOb
Mon, 23 Apr 2007 11:05
Dlaczego singletony?
Author: dOvOb
Date: Mon, 23 Apr 2007 11:05
Date: Mon, 23 Apr 2007 11:05
11 lines
1109 bytes
1109 bytes
Dlaczego singleton jest przewaznie przedstawiany w C++ jako klasa o jednej instancji i o metodzie dostepowej (w stylu "getInstance"), a nie jako klasa ze wszystkimi metodami statycznymi? (cos jak przestrzen nazw, tylko niektore skladowe moga byc "private") Czy ma to jakas zalete? dOOb -- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: Dlaczego singletony?
Author: Damian 'legion' Szuberski
Date: Mon, 23 Apr 2007 11:54
Date: Mon, 23 Apr 2007 11:54
9 lines
1143 bytes
1143 bytes
On 2007-04-23, dOvOb wrote: > Dlaczego singleton jest przewaznie przedstawiany w C++ jako klasa o jednej > instancji i o metodzie dostepowej (w stylu "getInstance"), a nie jako klasa ze > wszystkimi metodami statycznymi? (cos jak przestrzen nazw, tylko niektore > skladowe moga byc "private") Najpierw dowiedz się co to jest ten 'singleton'. -- Damian Szuberski
Re: Dlaczego singletony?
Author: dovob
Date: Mon, 23 Apr 2007 12:24
Date: Mon, 23 Apr 2007 12:24
12 lines
1234 bytes
1234 bytes
> > Dlaczego singleton jest przewaznie przedstawiany w C++ jako klasa o jednej > > instancji i o metodzie dostepowej (w stylu "getInstance"), a nie jako klasa > > ze wszystkimi metodami statycznymi? (cos jak przestrzen nazw, tylko niektore > > skladowe moga byc "private") > Najpierw dowiedz się co to jest ten 'singleton'. > I co wtedy? -- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: Dlaczego singletony?
Author: Damian 'legion' Szuberski
Date: Mon, 23 Apr 2007 12:35
Date: Mon, 23 Apr 2007 12:35
11 lines
1261 bytes
1261 bytes
On 2007-04-23, wrote: >>> Dlaczego singleton jest przewaznie przedstawiany w C++ jako klasa o jednej >>> instancji i o metodzie dostepowej (w stylu "getInstance"), a nie jako klasa >>> ze wszystkimi metodami statycznymi? (cos jak przestrzen nazw, tylko niektore >>> skladowe moga byc "private") >> Najpierw dowiedz się co to jest ten 'singleton'. > I co wtedy? I teraz odpowiedz sobie na pytanie. -- Damian Szuberski
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Mon, 23 Apr 2007 12:46
Date: Mon, 23 Apr 2007 12:46
28 lines
1747 bytes
1747 bytes
Witam dOvOb wrote: > Dlaczego singleton jest przewaznie przedstawiany w C++ jako klasa o jednej > instancji i o metodzie dostepowej (w stylu "getInstance"), a nie jako > klasa ze wszystkimi metodami statycznymi? (cos jak przestrzen nazw, tylko > niektore skladowe moga byc "private") > Czy ma to jakas zalete? Poczytaj o singletonach u Alexandrescu, to zrozumiesz różnice - 30 stron - opis + podejście generyczne do tego zadania. Powiedzmy, że dla jednego wątku singleton można opisać na 19 stronach. Szczególnie warto zobaczy np. na zagadnienie długości życia, kiedy należy singleton "A" konstruować zawsze przed innymi obiektami i uśmiercać po wszystkich. Problem jest bardzo nie banalny i generalnie dotyczy każdego języka, w taki czy inny sposób. Kiedy dochodzi wielowątkowość to masz pełen cyrk. A w ogóle to o C++ lepiej nie rozmawiać na tej grupie. Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki \/\/
Re: Dlaczego singletony?
Author: A.L.
Date: Mon, 23 Apr 2007 13:09
Date: Mon, 23 Apr 2007 13:09
32 lines
1729 bytes
1729 bytes
On Mon, 23 Apr 2007 14:46:39 +0200, Seweryn Habdank-Wojewódzki <shw_mail@wp.pl> wrote: >Witam > >dOvOb wrote: > >> Dlaczego singleton jest przewaznie przedstawiany w C++ jako klasa o jednej >> instancji i o metodzie dostepowej (w stylu "getInstance"), a nie jako >> klasa ze wszystkimi metodami statycznymi? (cos jak przestrzen nazw, tylko >> niektore skladowe moga byc "private") >> Czy ma to jakas zalete? > >Poczytaj o singletonach u Alexandrescu, to zrozumiesz różnice - 30 stron - >opis + podejście generyczne do tego zadania. > To jest 29 i pol strony za duzo. Ale widac w C++ to jest Baaaarrrdzo Trudne! >Powiedzmy, że dla jednego wątku singleton można opisać na 19 stronach. > To jest 18 i 3/4 strony za duzo. > >A w ogóle to o C++ lepiej nie rozmawiać na tej grupie. > Alez dlaczego, neich Pan sie nie krepuje! A.L.
Re: Dlaczego singletony?
Author: Adam Karpierz
Date: Mon, 23 Apr 2007 13:22
Date: Mon, 23 Apr 2007 13:22
39 lines
1745 bytes
1745 bytes
Użytkownik "Seweryn Habdank-Wojewódzki" <shw_mail@wp.pl> napisał:
> Szczególnie warto zobaczy np. na zagadnienie długości życia, kiedy należy
> singleton "A" konstruować zawsze przed innymi obiektami i uśmiercać po
> wszystkich. Problem jest bardzo nie banalny i generalnie dotyczy każdego
> języka, w taki czy inny sposób. Kiedy dochodzi wielowątkowość to masz
> pełen
> cyrk.
Nie rozumiem.
Problem jest trywialny:
Tu stricte Pythonowe
class Singleton:
__single_state = {}
def __init__(self):
self.__dict__ = Singleton.__single_state
def main():
ta = Singleton()
# tu kod
del ta
main()
> A w ogóle to o C++ lepiej nie rozmawiać na tej grupie.
To prawda.
Ta grupa tyczy obiektowosci a C++ nie jest jezykiem obiektowym
AK
Re: Dlaczego singletony?
Author: Maciej Sobczak
Date: Mon, 23 Apr 2007 13:40
Date: Mon, 23 Apr 2007 13:40
44 lines
1954 bytes
1954 bytes
Adam Karpierz wrote:
> Problem jest trywialny:
>
> Tu stricte Pythonowe
>
> class Singleton:
>
> __single_state = {}
>
> def __init__(self):
> self.__dict__ = Singleton.__single_state
>
> def main():
>
> ta = Singleton()
>
> # tu kod
>
> del ta
>
> main()
Faktycznie, ta implementacja rozwiązuje wszystkie problemy oraz spełnia
wszystkie oczekiwania różnych programistów.
Widzę też, że elegancko odzwierciedla każdy szczegół dyskusji ze
wspomnianej tu książki.
>> A w ogóle to o C++ lepiej nie rozmawiaæ na tej grupie.
>
> To prawda.
> Ta grupa tyczy obiektowosci a C++ nie jest jezykiem obiektowym
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Pan Booch musiał o tym nie wiedzieć.
Panowie z Addison-Wesley też jacyś niedoinformowani w tej swojej serii
"Object Technology".
Całe szczęście, że mamy grupę pl.comp.objects.
--
Maciej Sobczak : http://www.msobczak.com/
Programming : http://www.msobczak.com/prog/
Re: Dlaczego singletony?
Author: Adam Karpierz
Date: Mon, 23 Apr 2007 14:26
Date: Mon, 23 Apr 2007 14:26
42 lines
2431 bytes
2431 bytes
Użytkownik "Maciej Sobczak" <no.spam@no.spam.com> napisał: > Faktycznie, ta implementacja rozwiązuje wszystkie problemy oraz spełnia > wszystkie oczekiwania różnych programistów. A jakich nie rozwiazuje ? Konkrety ? > Widzę też, że elegancko odzwierciedla każdy szczegół dyskusji ze > wspomnianej tu książki. Ta ksiazka tyczy problemow w syfiastym C++ ktore zapewne wystepuja tylko w nim wiec 'osochodzi' ? Tyle tylko ze szanowny kolega nie raczyl zauwazyc ze to co podalem to nie jest Singleton,.tzn nie stricte singleton >>> A w ogóle to o C++ lepiej nie rozmawiaa na tej grupie. >> >> To prawda. >> Ta grupa tyczy obiektowosci a C++ nie jest jezykiem obiektowym > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > Pan Booch musiał o tym nie wiedzieć. > Panowie z Addison-Wesley też jacyś niedoinformowani w tej swojej serii > "Object Technology". > > Całe szczęście, że mamy grupę pl.comp.objects. No wie Pan co mnie tam Booch at al. Wystarczy ze sam tworca C++ pisze wyraznie na poczatku swej strony. C++ is a general purpose programming language with a bias towards systems programming that a.. is a better C (Sektor sie zagotuje :) b.. supports data abstraction c.. supports object-oriented programming d.. supports generic programming. 'support' to nie znaczy 'is pure' PS: Niech Pan nie tworzy sekty tam gdzie w ogole nie ma religii AK
Re: Dlaczego singletony?
Author: Maciej Sobczak
Date: Mon, 23 Apr 2007 15:30
Date: Mon, 23 Apr 2007 15:30
70 lines
3480 bytes
3480 bytes
Adam Karpierz wrote: >> Faktycznie, ta implementacja rozwi±zuje wszystkie problemy oraz spe³nia >> wszystkie oczekiwania ró¿nych programistów. > > A jakich nie rozwiazuje ? Może warto najpierw przeczytać, zanim się rzuci hasłem, że zmarnowano tyle stron tekstu? > Konkrety ? Od ręki - w swoim przykładzie użył Pan wyrażenia "del ta". Niech Pan dla kompletu przedyskutuje, po co ta instrukcja i jak jej należy używać gdy singletonów jest wiele (różnych klas) i być może odwołują się do zewnętrznych zasobów. Może coś o wątkach? Kod, który Pan pokazał to wierzchołek góry lodowej. I uwaga, proszę się skupić: wersja trywialna w C++ *też* istnieje. Wspomniana książka jest akurat dla tych, którzy na tym trywialnym poziomie nie chcą się zatrzymać i są projekty, gdzie to ma sens. >> Widzê te¿, ¿e elegancko odzwierciedla ka¿dy szczegó³ dyskusji ze >> wspomnianej tu ksi±¿ki. > > Ta ksiazka tyczy problemow w syfiastym C++ ktore zapewne > wystepuja tylko w nim wiec 'osochodzi' ? Podoba mi się to "zapewne". Które z przedstawionych w tej książce problemów występują tylko w C++? Konkrety? > Tyle tylko ze szanowny kolega nie raczyl zauwazyc > ze to co podalem to nie jest Singleton,.tzn nie stricte singleton Monostate. Ale podał to Pan jako przykład w wątku o singletonie, jakie to trywialne w Pythonie (w ogóle nie odnosząc się do problemów podanych przez Seweryna). > No wie Pan co mnie tam Booch at al. > Wystarczy ze sam tworca C++ pisze wyraznie na poczatku swej strony. > > C++ is a general purpose programming language with a bias > towards systems programming that > a.. is a better C (Sektor sie zagotuje :) > b.. supports data abstraction > c.. supports object-oriented programming > d.. supports generic programming. > 'support' to nie znaczy 'is pure' Co znaczy "pure"? Że nic innego nie potrafi? A może pl.comp.objects jest tylko dla tych "pure"? Czy Python jest "pure"? A może Ada? Czy można na tej grupie dyskutować o Adzie? Itd. > PS: Niech Pan nie tworzy sekty tam gdzie w ogole nie ma religii Czy ja coś tworzę? Po prostu stwierdzam, że wymachuje Pan rękami na temat książki, której okładki nawet Pan nie widział, nie mówiąc o jej przeczytaniu. -- Maciej Sobczak : http://www.msobczak.com/ Programming : http://www.msobczak.com/prog/
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Mon, 23 Apr 2007 15:56
Date: Mon, 23 Apr 2007 15:56
54 lines
2286 bytes
2286 bytes
Witam
Adam Karpierz wrote:
> Problem jest trywialny:
>
> Tu stricte Pythonowe
>
> class Singleton:
>
> __single_state = {}
>
> def __init__(self):
> self.__dict__ = Singleton.__single_state
>
> def main():
>
> ta = Singleton()
>
> # tu kod
>
> del ta
>
> main()
Super. To jest proste. To jeszcze poproszę o komentarza związany z wątkami.
A może jeśli Python jest językiem w którym nie muszę się martwić o detale
techniczne, to poproszę o komentarz jak to zadziała kiedy singleton ma być
użyty w wielu procesach.
Jeszcze tylko pytanie, kontrolne, czy mogę tego singletona użyć do
podglądania inicjalizacji obiektów? np. mam drugi singleton, który ma za
zadanie obserwować stan __single_state.
I czy mogę go użyć do obserwacji finalizacji obiektów, np. chcę mieć
pewność, że wszystkie połączenia z bazą danych zostały poprawnie zamknięte.
Ot. np. taki proces logowania z pamięcią np. niech numeruje wpisy do loggera
i niech rozporządza komunikatami. A może nawet taki, który potrafi
przechwycić komunikaty z wyjątków? No nie wiem, może się da. Pan jest
specjalista od Pythona.
>> A w ogóle to o C++ lepiej nie rozmawiać na tej grupie.
>
> To prawda.
> Ta grupa tyczy obiektowosci a C++ nie jest jezykiem obiektowym
Python też nim nie jest ;-).
Pozdrawiam.
--
|\/\/| Seweryn Habdank-Wojewódzki
\/\/
Re: Dlaczego singletony?
Author: Jacek Pietraszek
Date: Mon, 23 Apr 2007 22:37
Date: Mon, 23 Apr 2007 22:37
13 lines
1368 bytes
1368 bytes
dOvOb <dovob@wytnij.gazeta.pl> napisal: > Dlaczego singleton jest przewaznie przedstawiany w C++ jako klasa o jednej > instancji i o metodzie dostepowej (w stylu "getInstance"), a nie jako klasa ze > wszystkimi metodami statycznymi? (cos jak przestrzen nazw, tylko niektore > skladowe moga byc "private") > Czy ma to jakas zalete? Singleton jest obiektem, ktory moze miec w szczegolnosci pola, wiec metody statyczne nie mialyby do niego dostepu. -- Pozdrawiam, Jacek
Re: Dlaczego singletony?
Author: Adam Karpierz
Date: Tue, 24 Apr 2007 00:00
Date: Tue, 24 Apr 2007 00:00
23 lines
1676 bytes
1676 bytes
Użytkownik "Jacek Pietraszek" <pmpietraUSUNTENKAWALEK@kinga.cyf-kr.edu.pl> napisał: > Singleton jest obiektem, ktory moze miec w szczegolnosci > pola, wiec metody statyczne nie mialyby do niego dostepu. Mialyby. Mozna uzyc pol statycznych (oczywiscie to syf w C++ bo trzeba sztucznie poza klasa inicjowac itp chocki-klocki (jak sie pisz ? hocki czy chocki ? :) Chodzi o Co innego. Taka klasa sama z siebie nie jest obiektem. Nie mozna jej wiec uzyc jako normalnego obiektu. To po prostu tylko taki inny rodzaj sam nie wiem. Modulu ? Namespacea-a ? Zwal jak zwal. Oczywiscie mozna tak zrobic jesli faktycznie to wystarczy ale.. na okraglo i w C++ akurat do kitu. (ale np juz w Pythonie bylo by to ok i bardziej naturalne). AK.
Re: Dlaczego singletony?
Author: Maciej Sobczak
Date: Tue, 24 Apr 2007 09:18
Date: Tue, 24 Apr 2007 09:18
40 lines
2254 bytes
2254 bytes
Adam Karpierz wrote: >> Singleton jest obiektem, ktory moze miec w szczegolnosci >> pola, wiec metody statyczne nie mialyby do niego dostepu. > > Mialyby. > Mozna uzyc pol statycznych Można by też ich nie użyć. > (oczywiscie to syf w C++ bo trzeba > sztucznie poza klasa inicjowac Jak się ich nie używa, to nie trzeba inicjować. > Chodzi o Co innego. > Taka klasa sama z siebie nie jest obiektem. > Nie mozna jej wiec uzyc jako normalnego obiektu. > To po prostu tylko taki inny rodzaj sam nie wiem. > Modulu ? Namespacea-a ? > Zwal jak zwal. Polecam wizytę w bibliotece i godzinkę studiów nt. Abstract Data Type vs. Abstract State Machine. > Oczywiscie mozna tak zrobic jesli faktycznie to wystarczy > ale.. na okraglo i w C++ akurat do kitu. Bo tak? > (ale np juz w Pythonie bylo by to ok i bardziej naturalne). Co jest bardziej naturalne? Grzebanie po własnym słowniku? To tak, jakby ktoś w C++ jawnie manipulował w tablicy wskażników do funkcji wirtualnych i twierdził, że jest "naturalnie". Najwyrażniej pojęcie naturalności jest względne. -- Maciej Sobczak : http://www.msobczak.com/ Programming : http://www.msobczak.com/prog/
Re: Dlaczego singletony?
Author: A.L.
Date: Tue, 24 Apr 2007 12:27
Date: Tue, 24 Apr 2007 12:27
31 lines
1667 bytes
1667 bytes
On Tue, 24 Apr 2007 11:18:42 +0200, Maciej Sobczak <no.spam@no.spam.com> wrote: >Adam Karpierz wrote: > >>> Singleton jest obiektem, ktory moze miec w szczegolnosci >>> pola, wiec metody statyczne nie mialyby do niego dostepu. >> >> Mialyby. >> Mozna uzyc pol statycznych > >Można by też ich nie użyć. > >> (oczywiscie to syf w C++ bo trzeba >> sztucznie poza klasa inicjowac > >Jak się ich nie używa, to nie trzeba inicjować. > >> Chodzi o Co innego. >> Taka klasa sama z siebie nie jest obiektem. >> Nie mozna jej wiec uzyc jako normalnego obiektu. >> To po prostu tylko taki inny rodzaj sam nie wiem. >> Modulu ? Namespacea-a ? >> Zwal jak zwal. > >Polecam wizytę w bibliotece i godzinkę studiów nt. Abstract Data Type >vs. Abstract State Machine. A konkretnie?... Co ma "State Machine" do rzeczy?... A.L.
Re: Dlaczego singletony?
Author: Adam Karpierz
Date: Tue, 24 Apr 2007 12:36
Date: Tue, 24 Apr 2007 12:36
72 lines
3159 bytes
3159 bytes
Użytkownik "Maciej Sobczak" <no.spam@no.spam.com> napisał: >> Mialyby. >> Mozna uzyc pol statycznych > > Można by też ich nie użyć. Ano mozna. >> (oczywiscie to syf w C++ bo trzeba >> sztucznie poza klasa inicjowac > > Jak się ich nie używa, to nie trzeba inicjować. Tez prawda ! > >> Chodzi o Co innego. >> Taka klasa sama z siebie nie jest obiektem. >> Nie mozna jej wiec uzyc jako normalnego obiektu. >> To po prostu tylko taki inny rodzaj sam nie wiem. >> Modulu ? Namespacea-a ? >> Zwal jak zwal. > > Polecam wizytę w bibliotece i godzinkę studiów nt. Abstract Data Type vs. > Abstract State Machine. Wie Pan, dzieki bardzo. MAm zasade aby muchy nei zabijac strzalem z haubicy. >> Oczywiscie mozna tak zrobic jesli faktycznie to wystarczy ale.. na >> okraglo i w C++ akurat do kitu. > > Bo tak? Bo tak to juz w C++ jest zrobione ze nie mozna pol statycznych klasy zainicjwac w momencie ich deklaracji Dlaczego Panie Sobczak ? Przeciez to naturalne podejscie ? >> (ale np juz w Pythonie bylo by to ok i bardziej naturalne). > > Co jest bardziej naturalne? Grzebanie po własnym słowniku? To tak, jakby > ktoś w C++ jawnie manipulował w tablicy > wskażników do funkcji wirtualnych i twierdził, że jest "naturalnie". Panie Sobczak jakie grzebanie po slowniku ? Ono tu nie jest potrzebne. Kalsa w Pythonie po prostu jest obiektem jak kazdy inny i moze Pan potraktowac jak zwykly kontener na atrybuty a uzyc jak kazdegoinnego obiektu Tyle tylko (choc nie polecam - sa lepsze sposoby). > Najwyrażniej pojęcie naturalności jest względne. Tak Panie Sobczak. Jest wzgledne bo ten slownik w Pythonie jest po prostu _standardem_ a grzebanie po tablicy wskaznikow do funkcji wirtualnych to chyba jakis Pana wymysl ? Czy standard C++ zapewnie ze w ogole taka tablica istnieje czyto tylko domniemany twor (ale nie arbitralnie zapewniony) dla C++ owych "plaszczakow" ktorzy nie potrafia sobie wyobrazic innej realizacji polimorfizmu poza funkcjami wirtualnymi ? Przeciez np w Pythonie funkcja polimorficzna (nawet funcja a nie metoda) jest zwykle: def a(x) print x AK
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Tue, 24 Apr 2007 12:48
Date: Tue, 24 Apr 2007 12:48
17 lines
1260 bytes
1260 bytes
Witam A.L. wrote: >>Polecam wizytę w bibliotece i godzinkę studiów nt. Abstract Data Type >>vs. Abstract State Machine. > > A konkretnie?... Co ma "State Machine" do rzeczy?... Konkretnie? Konkretnie to Pan jeszcze nic nie napisał. Czekamy ze zniecierpliwieniem. Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki \/\/
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Tue, 24 Apr 2007 12:59
Date: Tue, 24 Apr 2007 12:59
40 lines
2106 bytes
2106 bytes
Witam Adam Karpierz wrote: >>> Oczywiscie mozna tak zrobic jesli faktycznie to wystarczy ale.. na >>> okraglo i w C++ akurat do kitu. >> >> Bo tak? > > Bo tak to juz w C++ jest zrobione ze nie mozna > pol statycznych klasy zainicjwac w momencie ich deklaracji Zmartwię Pana. Da się tak zrobić, aby było dobrze. Mam tak inicjalizowany Logger - potrafi on logować wszystko od początku powstania programu do końca programu włącznie z funkjami wywoływanymi w atexit. Tak na marginesie w Javie jest podobny problem, który został rozwiązany bardzo prosto i brzydko. A nadal nie wiem jak w Pythonie robi się taki logger, który potrafi monitorowac wszystko, przyczym inicjalizacja jest banalna, gorzej kiedy chcę monitorować to co pójdzie w zapomnienie do GC. Jak np. zmierzyć czas życia obiektu? Nadal nie wiemy czemu Pan w kodzie singletona w Pythonie użył "del ta". To w cale nie jest oczywiste. Aha i nadal nie ma implementacji consta. > Przeciez np w Pythonie funkcja polimorficzna > (nawet funcja a nie metoda) jest zwykle: > > def a(x) > print x I co tu jest polimorficzne? Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki \/\/
Re: Dlaczego singletony?
Author: A.L.
Date: Tue, 24 Apr 2007 13:05
Date: Tue, 24 Apr 2007 13:05
21 lines
1496 bytes
1496 bytes
On Tue, 24 Apr 2007 14:48:26 +0200, Seweryn Habdank-Wojewódzki <shw_mail@wp.pl> wrote: >Witam > >A.L. wrote: > >>>Polecam wizytę w bibliotece i godzinkę studiów nt. Abstract Data Type >>>vs. Abstract State Machine. >> >> A konkretnie?... Co ma "State Machine" do rzeczy?... > >Konkretnie? Konkretnie to Pan jeszcze nic nie napisał. Czekamy ze >zniecierpliwieniem. > >Pozdrawiam. Ja sie nie Pana pytalem, tylko Pana Sobczaka. Bedzie Pan uprzejmy sie nie wtracac i nie puszczac postow ktore nic nie wnosza do pytania. A.L.
Re: Dlaczego singletony?
Author: A.L.
Date: Tue, 24 Apr 2007 13:08
Date: Tue, 24 Apr 2007 13:08
16 lines
1479 bytes
1479 bytes
On Tue, 24 Apr 2007 14:59:40 +0200, Seweryn Habdank-Wojewódzki <shw_mail@wp.pl> wrote: >Witam > > >Zmartwię Pana. Da się tak zrobić, aby było dobrze. Mam tak inicjalizowany >Logger - potrafi on logować wszystko od początku powstania programu do >końca programu włącznie z funkjami wywoływanymi w atexit. > >Tak na marginesie w Javie jest podobny problem, który został rozwiązany >bardzo prosto i brzydko. Nooo... Jaki i jak?... A.L.
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Tue, 24 Apr 2007 13:10
Date: Tue, 24 Apr 2007 13:10
33 lines
2174 bytes
2174 bytes
Witam A.L. wrote: >>> A konkretnie?... Co ma "State Machine" do rzeczy?... >> >>Konkretnie? Konkretnie to Pan jeszcze nic nie napisał. Czekamy ze >>zniecierpliwieniem. >> >>Pozdrawiam. > > Ja sie nie Pana pytalem, tylko Pana Sobczaka. Bedzie Pan uprzejmy sie > nie wtracac i nie puszczac postow ktore nic nie wnosza do pytania. Cieszę się, że nie kazał mi Pan "zamknąć gęby na kłódkę". Widzę wyraźny wzrost kultury osobistej. Plus dla Pana. Kolejna sprawa to poproszę o konkrety związane z implementacją singletona w Javie. Szczególnie, że (patrz wątek o parallel computing) właśnie A. Alexandresku dość mocno akcentuje właśnie problemy i to właśnie pokazujące się w zagadnieniach parallel computing związane z wielowątkowością. Tak więc Pana krytyka 30 stron opisu singletona jest całkowicie bezpodstawna. W szczególności, że jak na razie nic mądrego z praktycznego punktu widzenia Pan nie powiedział o singletonach. Czekam na implementacje wraz z komentarzem. Podobno w Javie pisze się szybko, więc liczę na szybki kawałek dobrego kodu. Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki \/\/
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Tue, 24 Apr 2007 13:15
Date: Tue, 24 Apr 2007 13:15
22 lines
1587 bytes
1587 bytes
Witam A.L. wrote: >>Zmartwię Pana. Da się tak zrobić, aby było dobrze. Mam tak inicjalizowany >>Logger - potrafi on logować wszystko od początku powstania programu do >>końca programu włącznie z funkjami wywoływanymi w atexit. >> >>Tak na marginesie w Javie jest podobny problem, który został rozwiązany >>bardzo prosto i brzydko. > > Nooo... Jaki i jak?... Jak Pan nie wie to niech Pan do czyta. To nie ja jestem tu ekspertem od Javy. W każdym razie zadanie zostało rozwiązane skutecznie, ale nie elegancko. Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki \/\/
Re: Dlaczego singletony?
Author: A.L.
Date: Tue, 24 Apr 2007 13:27
Date: Tue, 24 Apr 2007 13:27
44 lines
2572 bytes
2572 bytes
On Tue, 24 Apr 2007 15:10:02 +0200, Seweryn Habdank-Wojewódzki <shw_mail@wp.pl> wrote: >Witam > >A.L. wrote: > >>>> A konkretnie?... Co ma "State Machine" do rzeczy?... >>> >>>Konkretnie? Konkretnie to Pan jeszcze nic nie napisał. Czekamy ze >>>zniecierpliwieniem. >>> >>>Pozdrawiam. >> >> Ja sie nie Pana pytalem, tylko Pana Sobczaka. Bedzie Pan uprzejmy sie >> nie wtracac i nie puszczac postow ktore nic nie wnosza do pytania. > >Cieszę się, że nie kazał mi Pan "zamknąć gęby na kłódkę". Widzę wyraźny >wzrost kultury osobistej. Plus dla Pana. > >Kolejna sprawa to poproszę o konkrety związane z implementacją singletona w >Javie. Szczególnie, że (patrz wątek o parallel computing) właśnie A. >Alexandresku dość mocno akcentuje właśnie problemy i to właśnie pokazujące >się w zagadnieniach parallel computing związane z wielowątkowością. >Tak więc Pana krytyka 30 stron opisu singletona jest całkowicie >bezpodstawna. Nie krytykowalem owych 30 stron. Mzoe Pan przytoczyc cytat gdzie jakkolwiek odnosibbym sie do panskiej Biblii?... >W szczególności, że jak na razie nic mądrego z praktycznego >punktu widzenia Pan nie powiedział o singletonach. > A po co?... >Czekam na implementacje wraz z komentarzem. Podobno w Javie pisze się >szybko, więc liczę na szybki kawałek dobrego kodu. Moga to zrobic dla Pana w ramach consulting. Musimy sie dogadac co do kosztow. Ale uprzedzam: drogo wyjdzie. A.L.
Re: Dlaczego singletony?
Author: A.L.
Date: Tue, 24 Apr 2007 13:28
Date: Tue, 24 Apr 2007 13:28
23 lines
1829 bytes
1829 bytes
On Tue, 24 Apr 2007 15:15:48 +0200, Seweryn Habdank-Wojewódzki <shw_mail@wp.pl> wrote: >Witam > >A.L. wrote: > >>>Zmartwię Pana. Da się tak zrobić, aby było dobrze. Mam tak inicjalizowany >>>Logger - potrafi on logować wszystko od początku powstania programu do >>>końca programu włącznie z funkjami wywoływanymi w atexit. >>> >>>Tak na marginesie w Javie jest podobny problem, który został rozwiązany >>>bardzo prosto i brzydko. >> >> Nooo... Jaki i jak?... > >Jak Pan nie wie to niech Pan do czyta. To nie ja jestem tu ekspertem od >Javy. W każdym razie zadanie zostało rozwiązane skutecznie, ale nie >elegancko. No dyc ja sie pytam JAKIE zadanie?... A.L.
Re: Dlaczego singletony?
Author: Adam Karpierz
Date: Tue, 24 Apr 2007 13:32
Date: Tue, 24 Apr 2007 13:32
62 lines
2834 bytes
2834 bytes
Użytkownik "Seweryn Habdank-Wojewódzki" <shw_mail@wp.pl> napisał:
>> Bo tak to juz w C++ jest zrobione ze nie mozna
>> pol statycznych klasy zainicjwac w momencie ich deklaracji
>
> Zmartwię Pana. Da się tak zrobić, aby było dobrze. Mam tak inicjalizowany
> Logger - potrafi on logować wszystko od początku powstania programu do
> końca programu włącznie z funkjami wywoływanymi w atexit.
A Pan o czym pisze ?
Bo ja pisze wylacznie o tym ze:
"""
Bo tak to juz w C++ jest zrobione ze nie mozna
pol statycznych klasy zainicjwac w momencie ich deklaracji
"""
> Tak na marginesie w Javie jest podobny problem, który został rozwiązany
> bardzo prosto i brzydko. A nadal nie wiem jak w Pythonie robi się taki
> logger, który potrafi monitorowac wszystko,
Ja tez nie.
Wiem tylko ze implementacja jest banalna
w stosunku do tej z C++ :).
Wszytsko ? Tzn loguje Wszechswiat ?
> przyczym inicjalizacja jest banalna,
> gorzej kiedy chcę monitorować to
> co pójdzie w zapomnienie do GC.
> Jak np. zmierzyć czas życia obiektu?
Banal.
> Nadal nie wiemy czemu Pan w kodzie singletona w Pythonie
> użył "del ta". To w cale nie jest oczywiste.
Oczywiste.
Nie uzywam - grzecznie informuje.
A wiec del ta
> Aha i nadal nie ma implementacji consta.
Panie Wojewodzki to tez nie jest trudne :)
Szczegolnie dlatego ze zupelnie niepotrzebne :)
>> Przeciez np w Pythonie funkcja polimorficzna
>> (nawet funcja a nie metoda) jest zwykle:
>>
>> def a(x)
>> print x
>
> I co tu jest polimorficzne?
Wszystko !
Czasem niestety, a czasem na szczescie
PS: Czy Pan tu _naprawde_ nie dostrzega polimorfizmu ?
W sumie e.. dobrze.
W Algolu tez nie dostrzegalem "zarzadzania pamiecia:
AK
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Tue, 24 Apr 2007 13:34
Date: Tue, 24 Apr 2007 13:34
45 lines
2665 bytes
2665 bytes
Witam A.L. wrote: >>Kolejna sprawa to poproszę o konkrety związane z implementacją singletona >>w Javie. Szczególnie, że (patrz wątek o parallel computing) właśnie A. >>Alexandresku dość mocno akcentuje właśnie problemy i to właśnie pokazujące >>się w zagadnieniach parallel computing związane z wielowątkowością. >>Tak więc Pana krytyka 30 stron opisu singletona jest całkowicie >>bezpodstawna. > > Nie krytykowalem owych 30 stron. Mzoe Pan przytoczyc cytat gdzie > jakkolwiek odnosibbym sie do panskiej Biblii?... cytuję: "To jest 29 i pol strony za duzo. Ale widac w C++ to jest Baaaarrrdzo Trudne!" >>W szczególności, że jak na razie nic mądrego z praktycznego >>punktu widzenia Pan nie powiedział o singletonach. >> > > A po co?... Zatem się Pan nie zna. A jeśli się Pan nie zna, to proszę słuchać jak bardziej doświadczeni dyskutują. Pozwalam Panu zadawać pytania w trakcie dyskusji ze względu na szacunek do Pańskiego ogólnego doświadczenia w sprawach computingu. >>Czekam na implementacje wraz z komentarzem. Podobno w Javie pisze się >>szybko, więc liczę na szybki kawałek dobrego kodu. > > Moga to zrobic dla Pana w ramach consulting. Musimy sie dogadac co do > kosztow. Ale uprzedzam: drogo wyjdzie. Rozumiem, że nic Pan nie ma do powiedzenia na ten temat. Kupić singletona od znawców Javy to sam mogę, i to jeszcze po konkurencyjnej cenie, a nie kota w worku, bo nawet Pan nie umie swojego singletona wyspecyfikować. Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki \/\/
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Tue, 24 Apr 2007 13:35
Date: Tue, 24 Apr 2007 13:35
17 lines
1390 bytes
1390 bytes
Witam A.L. wrote: >>Jak Pan nie wie to niech Pan do czyta. To nie ja jestem tu ekspertem od >>Javy. W każdym razie zadanie zostało rozwiązane skutecznie, ale nie >>elegancko. > > No dyc ja sie pytam JAKIE zadanie?... Dyć to, o którym pisał Pan A.K. Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki \/\/
Re: Dlaczego singletony?
Author: Maciej Sobczak
Date: Tue, 24 Apr 2007 13:37
Date: Tue, 24 Apr 2007 13:37
27 lines
2075 bytes
2075 bytes
A.L. wrote: >>> Taka klasa sama z siebie nie jest obiektem. >>> Nie mozna jej wiec uzyc jako normalnego obiektu. >>> To po prostu tylko taki inny rodzaj sam nie wiem. >>> Modulu ? Namespacea-a ? >>> Zwal jak zwal. >> Polecam wizytę w bibliotece i godzinkę studiów nt. Abstract Data Type >> vs. Abstract State Machine. > > A konkretnie?... Co ma "State Machine" do rzeczy?... Nie "State Machine", tylko "Abstract State Machine". I nawet nie samo, ale właśnie w kontraście z ADT. To w konteście problemów pana Karpierza ze znalezieniem dobrego słowa na klasę, która nie ma niestatycznych danych. Terminologia ADT/ASM jest używana między innymi w metodologii INFORMED. "Whereas an ADT package gives the ability to declare objects and then operate on them, an abstract state machine package declares just one object and its operations." -- Maciej Sobczak : http://www.msobczak.com/ Programming : http://www.msobczak.com/prog/
Re: Dlaczego singletony?
Author: A.L.
Date: Tue, 24 Apr 2007 13:51
Date: Tue, 24 Apr 2007 13:51
27 lines
1815 bytes
1815 bytes
On Tue, 24 Apr 2007 14:59:40 +0200, Seweryn Habdank-Wojewódzki <shw_mail@wp.pl> wrote: >Witam > >Adam Karpierz wrote: > >>>> Oczywiscie mozna tak zrobic jesli faktycznie to wystarczy ale.. na >>>> okraglo i w C++ akurat do kitu. >>> >>> Bo tak? >> >> Bo tak to juz w C++ jest zrobione ze nie mozna >> pol statycznych klasy zainicjwac w momencie ich deklaracji > >Zmartwię Pana. Da się tak zrobić, aby było dobrze. Mam tak inicjalizowany >Logger - potrafi on logować wszystko od początku powstania programu do >końca programu włącznie z funkjami wywoływanymi w atexit. > >Tak na marginesie w Javie jest podobny problem, który został rozwiązany >bardzo prosto i brzydko. A nadal nie wiem jak w Pythonie robi się taki >logger, który potrafi monitorowac wszystko, A jak sie w C++ robi logger ktory potrafi monitorowac "wszystko" i co owo "wszytko" znaczy?... A.L.
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Tue, 24 Apr 2007 13:51
Date: Tue, 24 Apr 2007 13:51
14 lines
1135 bytes
1135 bytes
Witam
A.L. wrote:
> A u Bruce Eckiela ("Thinking in...") znajdzie pan 50 stron na temat
> "if-then-else". Widocznie niektorym placa od strony
I ten sam Bruce Eckel nie pisze w tych 50 stronach nic o wątkach.
Pozdrawiam.
--
|\/\/| Seweryn Habdank-Wojewódzki
\/\/
Re: Dlaczego singletony?
Author: A.L.
Date: Tue, 24 Apr 2007 13:52
Date: Tue, 24 Apr 2007 13:52
21 lines
1507 bytes
1507 bytes
On Mon, 23 Apr 2007 14:46:39 +0200, Seweryn Habdank-Wojewódzki
<shw_mail@wp.pl> wrote:
>Witam
>
>dOvOb wrote:
>
>> Dlaczego singleton jest przewaznie przedstawiany w C++ jako klasa o jednej
>> instancji i o metodzie dostepowej (w stylu "getInstance"), a nie jako
>> klasa ze wszystkimi metodami statycznymi? (cos jak przestrzen nazw, tylko
>> niektore skladowe moga byc "private")
>> Czy ma to jakas zalete?
>
>Poczytaj o singletonach u Alexandrescu, to zrozumiesz różnice - 30 stron -
>opis + podejście generyczne do tego zadania.
>
A u Bruce Eckiela ("Thinking in...") znajdzie pan 50 stron na temat
"if-then-else". Widocznie niektorym placa od strony
A.L.
Re: Dlaczego singletony?
Author: Piotr Kobzda
Date: Tue, 24 Apr 2007 14:26
Date: Tue, 24 Apr 2007 14:26
20 lines
1459 bytes
1459 bytes
Seweryn Habdank-Wojewódzki wrote:
> Czekam na implementacje wraz z komentarzem. Podobno w Javie pisze się
> szybko, więc liczę na szybki kawałek dobrego kodu.
Proszę:
public class Singleton {
private Singleton() { }
public static final Sigleton INSTANCE = new Singleton();
}
albo (Java 1.5+):
public enum Singleton {
INSTANCE;
}
piotr
Re: Dlaczego singletony?
Author: A.L.
Date: Tue, 24 Apr 2007 14:35
Date: Tue, 24 Apr 2007 14:35
16 lines
1663 bytes
1663 bytes
On Tue, 24 Apr 2007 15:34:46 +0200, Seweryn Habdank-Wojewódzki <shw_mail@wp.pl> wrote: > >Rozumiem, że nic Pan nie ma do powiedzenia na ten temat. Kupić singletona od >znawców Javy to sam mogę, i to jeszcze po konkurencyjnej cenie, a nie kota >w worku, bo nawet Pan nie umie swojego singletona wyspecyfikować. > Prosza Pana, ja "mojego singletona" nei wyspecyfikwoalem, bo go nei potzrebuje w tej chwili. A jak bede potzrebowal, to nei wyspecyfikuje SUPER-SIGNLETONA KTORY MOZE WSZYSTKO tylko akurat takiego jakiego mi potzreba. A.L.
Re: Dlaczego singletony?
Author: A.L.
Date: Tue, 24 Apr 2007 14:36
Date: Tue, 24 Apr 2007 14:36
13 lines
1334 bytes
1334 bytes
On Tue, 24 Apr 2007 15:37:32 +0200, Maciej Sobczak <no.spam@no.spam.com> wrote: > > >"Whereas an ADT package gives the ability to declare objects and then >operate on them, an abstract state machine package declares just one >object and its operations." To powinni wybrac jakas inna nazwe, bo Abstarct State Machine mzoe znaczyc rozne rzeczy. Nic zgola z obiektami nie majace wspolnego. A.L.
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Tue, 24 Apr 2007 14:57
Date: Tue, 24 Apr 2007 14:57
24 lines
1974 bytes
1974 bytes
Witam A.L. wrote: > Prosza Pana, ja "mojego singletona" nei wyspecyfikwoalem, bo go nei > potzrebuje w tej chwili. A jak bede potzrebowal, to nei wyspecyfikuje > SUPER-SIGNLETONA KTORY MOZE WSZYSTKO tylko akurat takiego jakiego mi > potzreba. Wiem. Tylko czemu Pan się wypowiada na temat książki, której Pan nie czytał, tego nie rozumiem. I nie zgadzam się z postulatem, że singleton to banał oraz że pełną dokładną specyfikację zamknie Pan na 0.5 strony, z czego 1/4 to opis samego singletona, drugie 1/4 to opis wielowątkowości dla niego. Dla wytłumaczenia. Tam jest powiedziane na 30 stronach, Pan powiedział, że o 29.5 za dużo, zatem wnioskuję, że Pan jest mocarzem i na 0.5 strony poda Pan całą specyfikację. Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki \/\/
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Tue, 24 Apr 2007 15:01
Date: Tue, 24 Apr 2007 15:01
33 lines
1842 bytes
1842 bytes
Witam
Piotr Kobzda wrote:
> Seweryn Habdank-Wojewódzki wrote:
>
>> Czekam na implementacje wraz z komentarzem. Podobno w Javie pisze się
>> szybko, więc liczę na szybki kawałek dobrego kodu.
>
> Proszę:
>
> public class Singleton {
> private Singleton() { }
> public static final Sigleton INSTANCE = new Singleton();
> }
>
> albo (Java 1.5+):
>
> public enum Singleton {
> INSTANCE;
> }
Prawda, że się nabijasz z Pana A.L.?
Widzę że nie zarobi Pan A.L. ani centa, bo konkurencyjna oferta sama się
pojawiła, jeszcze tylko komentarz nt. wątków oraz współpracy z innymi
singletonami i jestem skory kupić tą implementację.
Pozdrawiam.
--
|\/\/| Seweryn Habdank-Wojewódzki
\/\/
Re: Dlaczego singletony?
Author: Adam Karpierz
Date: Tue, 24 Apr 2007 15:45
Date: Tue, 24 Apr 2007 15:45
31 lines
2257 bytes
2257 bytes
Użytkownik "Maciej Sobczak" <no.spam@no.spam.com> napisał: > To w konteście problemów pana Karpierza ze znalezieniem dobrego > słowa na klasę, która nie ma niestatycznych danych. A po co specjalne slowo ? Ja uciekam od wszelkich "specjalnych slow". W Pythonie klasa ktora nie majaca "niestatycznych danych" _nieczym sie nie rozni_ od klasy ktora te "statyczne dane" ma. Poza tym Pan myli rzeczy. To nie sa zadne "statyczne dane" klasy. To slownictwo wprowadzil glupio C++ bo tam po prostu klasa _nie moze miec atrybutow_ bo nie jest obiektem. Wiec to nie sa zadne "statyczne dane klasy" tylko zewnetrzne publiczne zmienne jedynie "znamespaceowane" klasa. Wiec prosze Pana to o czym mowimy to sa aktrybuty klasy po prostu. Klasa z atrybutami klasy moze wlasie sluzyc jako baza do implemnentacji singletona Niech Pan sie wyzwoli z C++owego myslenie na chwile. > Terminologia ADT/ASM jest używana między innymi w metodologii INFORMED. > > "Whereas an ADT package gives the ability to declare objects and then > operate on them, an abstract state machine package declares just one > object and its operations." Pann dalej wali haubicami po muchach. AK
Re: Dlaczego singletony?
Author: Piotr Kobzda
Date: Tue, 24 Apr 2007 16:14
Date: Tue, 24 Apr 2007 16:14
43 lines
2492 bytes
2492 bytes
Seweryn Habdank-Wojewódzki wrote:
> Witam
>
> Piotr Kobzda wrote:
>
>> Seweryn Habdank-Wojewódzki wrote:
>>
>>> Czekam na implementacje wraz z komentarzem. Podobno w Javie pisze się
>>> szybko, więc liczę na szybki kawałek dobrego kodu.
>> Proszę:
>>
>> public class Singleton {
>> private Singleton() { }
>> public static final Sigleton INSTANCE = new Singleton();
>> }
>>
>> albo (Java 1.5+):
>>
>> public enum Singleton {
>> INSTANCE;
>> }
>
> Prawda, że się nabijasz z Pana A.L.?
Nie. Wypowiedzi Pana A.L. cenię, jak mało które.
> Widzę że nie zarobi Pan A.L. ani centa, bo konkurencyjna oferta sama się
> pojawiła, jeszcze tylko komentarz nt. wątków oraz współpracy z innymi
> singletonami i jestem skory kupić tą implementację.
Wg mnie komentarz jest zbędny.
Interakcja klas i obiektów w środowisku wielowątkowym to temat złożony,
niewiele związany z singletonami jako takimi. Trzeba wiedzieć np., że
inicjalizacja kalsy jest zsynchronizowana, przez co może się zakleszczyć
jeśli powiązana jest z interakcją z innych wątków, podobnie jak wiedzieć
trzeba co zrobić, aby singleton był serialiowowalny itp. Nie dotyczy
jednak ten komentarz już Twojej potrzeby, na którą odpowiedziałem, tak
przynajmniej mi się zdaje.
piotr
Re: Dlaczego singletony?
Author: Adam Karpierz
Date: Tue, 24 Apr 2007 16:23
Date: Tue, 24 Apr 2007 16:23
25 lines
1742 bytes
1742 bytes
Użytkownik "Seweryn Habdank-Wojewódzki" <shw_mail@wp.pl> napisał:
> Super. To jest proste. To jeszcze poproszę o komentarza związany z
> wątkami.
> A może jeśli Python jest językiem w którym nie muszę się martwić o detale
> techniczne, to poproszę o komentarz jak to zadziała kiedy singleton ma być
> użyty w wielu procesach.
@synchronized
class Singleton:
To zalatwia watki procesy itp
Chce Pan inaczej ?
ta = Singleton()
with threading.Lock():
ta.x = 4 ta.y = 'tralala;Tylko nech sie Pan zdecyduje czy to ma byc
singleton czy model
Wszechswiata bo w drugi przypadku obawiam
sie ze nie zmieszcze tego nawet na 50 stronach
(mimo ze Alexandrescu zmeiscil na 30:)
a przed emerytura moge nie zdazyc..
AK
Re: Dlaczego singletony?
Author: Adam Karpierz
Date: Tue, 24 Apr 2007 16:26
Date: Tue, 24 Apr 2007 16:26
7 lines
1362 bytes
1362 bytes
Użytkownik "Piotr Kobzda" <pikob@gazeta.pl> napisał: > niewiele związany z singletonami jako takimi. Dokladnie ! AK
Re: Dlaczego singletony?
Author: A.L.
Date: Tue, 24 Apr 2007 16:30
Date: Tue, 24 Apr 2007 16:30
20 lines
1854 bytes
1854 bytes
On Tue, 24 Apr 2007 18:14:37 +0200, Piotr Kobzda <pikob@gazeta.pl> wrote: > >Interakcja klas i obiektów w środowisku wielowątkowym to temat złożony, >niewiele związany z singletonami jako takimi. Trzeba wiedzieć np., że >inicjalizacja kalsy jest zsynchronizowana, przez co może się zakleszczyć >jeśli powiązana jest z interakcją z innych wątków, podobnie jak wiedzieć >trzeba co zrobić, aby singleton był serialiowowalny itp. Nie dotyczy >jednak ten komentarz już Twojej potrzeby, na którą odpowiedziałem, tak >przynajmniej mi się zdaje. > > Proponuje odeslac pana Wojewodzkiego do jakeijs elementarnej litaertury, na przykald tutaj http://www.javaworld.com/javaworld/jw-04-2003/jw-0425-designpatterns.html A,L.
Re: Dlaczego singletony?
Author: SasQ
Date: Tue, 24 Apr 2007 18:24
Date: Tue, 24 Apr 2007 18:24
16 lines
1554 bytes
1554 bytes
Dnia Tue, 24 Apr 2007 02:00:53 +0200, Adam Karpierz napisał(a): > Mozna uzyc pol statycznych (oczywiscie to syf w C++ bo > trzeba sztucznie poza klasa inicjowac itp chocki-klocki > [...] > Oczywiscie mozna tak zrobic jesli faktycznie to wystarczy > ale.. na okraglo i w C++ akurat do kitu. > > (ale np juz w Pythonie bylo by to ok i bardziej naturalne). Heh... Ten to znajdzie każdą możliwą okazję, żeby trochę poopluwać C++ i pochwalić sie swoim [bez skojarzeń ;J] Pytonem :P Masz jakąś traumę czy co? :P -- SasQ
Re: Dlaczego singletony?
Author: Adam Karpierz
Date: Tue, 24 Apr 2007 19:21
Date: Tue, 24 Apr 2007 19:21
9 lines
1241 bytes
1241 bytes
Użytkownik "SasQ" <sasq1@go2.pl> napisałŁó > Heh... Ten to znajdzie każdą możliwą okazję, żeby trochę > poopluwać C++ i pochwalić sie swoim [bez skojarzeń ;J] Pytonem :P > Masz jakąś traumę czy co? :P Tak ! 20 letnia. AK
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Tue, 24 Apr 2007 20:51
Date: Tue, 24 Apr 2007 20:51
115 lines
4058 bytes
4058 bytes
Witam
Adam Karpierz wrote:
>> Zmartwię Pana. Da się tak zrobić, aby było dobrze. Mam tak inicjalizowany
>> Logger - potrafi on logować wszystko od początku powstania programu do
>> końca programu włącznie z funkjami wywoływanymi w atexit.
>
> A Pan o czym pisze ?
>
> Bo ja pisze wylacznie o tym ze:
> """
> Bo tak to juz w C++ jest zrobione ze nie mozna
> pol statycznych klasy zainicjwac w momencie ich deklaracji
> """
Tak, to prawda, tylko, że jest na to sposób natomiast natomiast zrozumienie
tego zagadnienia głębiej pozwala na analizę statyczną programu w
szczególności sekwencji wywołań konstruktorów statycznych oraz zakańczania
życia obiektów statycznych.
Jeszcze raz (bez żadnej złośliwości) tak jak początek programu w Pythonie
jest w miarę oczywisty, tak koniec, a szczególnie sekwencja końcowa nie.
>> Tak na marginesie w Javie jest podobny problem, który został rozwiązany
>> bardzo prosto i brzydko. A nadal nie wiem jak w Pythonie robi się taki
>> logger, który potrafi monitorowac wszystko,
>
> Ja tez nie.
> Wiem tylko ze implementacja jest banalna
> w stosunku do tej z C++ :).
A jest jakiś pouczający pouczający przykład?
> Wszytsko ? Tzn loguje Wszechswiat ?
Cytuję sam siebie:
"
potrafi on logować wszystko od początku powstania programu do
końca programu włącznie z funkjami wywoływanymi w atexit
"
>> przyczym inicjalizacja jest banalna,
>> gorzej kiedy chcę monitorować to
>> co pójdzie w zapomnienie do GC.
>> Jak np. zmierzyć czas życia obiektu?
>
> Banal.
Aha, rozumiem. A może jakiś link, albo pozycja książkowa.
>> Nadal nie wiemy czemu Pan w kodzie singletona w Pythonie
>> użył "del ta". To w cale nie jest oczywiste.
>
> Oczywiste.
> Nie uzywam - grzecznie informuje.
> A wiec del ta
Cytuję:
"
class Singleton:
__single_state = {}
def __init__(self):
self.__dict__ = Singleton.__single_state
def main():
ta = Singleton()
# tu kod
del ta
^^^^^^^^^^^^^^^^^^^^
main()
"
A co jeśli jakiś inny moduł załaduje ten moduł, to jak się usadowi
singleton?
Albo co jeśli ten singleton jest loggerem i ma za zadanie sprawdzać
finalizację pozostałych obiektów w programie, gdzie należy napisać del ta?
>> Aha i nadal nie ma implementacji consta.
>
> Panie Wojewodzki to tez nie jest trudne :)
> Szczegolnie dlatego ze zupelnie niepotrzebne :)
Hmm... czy nie potrzebne to jest dyskusyjne. Są całe rozprawy na temat
obiektów które mają za zadanie pilnowania niezmienników w programie.
>>> Przeciez np w Pythonie funkcja polimorficzna
>>> (nawet funcja a nie metoda) jest zwykle:
>>>
>>> def a(x)
>>> print x
>>
>> I co tu jest polimorficzne?
>
> Wszystko !
> Czasem niestety, a czasem na szczescie
>
> PS: Czy Pan tu _naprawde_ nie dostrzega polimorfizmu ?
No jeśli wszystko to jest to jasne, myślałem o jakimś wyrafinowanym tricku.
Pozdrawiam.
--
|\/\/| Seweryn Habdank-Wojewódzki
\/\/
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Tue, 24 Apr 2007 21:21
Date: Tue, 24 Apr 2007 21:21
30 lines
1513 bytes
1513 bytes
Witam Adam Karpierz wrote: > @synchronized > class Singleton: > > To zalatwia watki procesy itp > > Chce Pan inaczej ? > > ta = Singleton() > with threading.Lock(): > ta.x = 4 ta.y = 'tralala; Elegancko. > Tylko nech sie Pan zdecyduje czy to ma byc > singleton Cały czas mowa o Singletonach. Ale jednak choćby się Pan wściekła to tego kodu z pełnym komentarzem nie upakuje Pan na 0.5 strony jak chciał Pan A.L. Jeszcze parę słów o tym kiedy on rozpoczyna i kończy żywot chętnie usłyszę. Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki \/\/
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Tue, 24 Apr 2007 21:31
Date: Tue, 24 Apr 2007 21:31
56 lines
3072 bytes
3072 bytes
Witam
Piotr Kobzda wrote:
>>>> Czekam na implementacje wraz z komentarzem. Podobno w Javie pisze się
>>>> szybko, więc liczę na szybki kawałek dobrego kodu.
>>> Proszę:
>>>
>>> public class Singleton {
>>> private Singleton() { }
>>> public static final Sigleton INSTANCE = new Singleton();
>>> }
>>>
>>> albo (Java 1.5+):
>>>
>>> public enum Singleton {
>>> INSTANCE;
>>> }
>>
>> Prawda, że się nabijasz z Pana A.L.?
>
> Nie. Wypowiedzi Pana A.L. cenię, jak mało które.
A ja znam Twoje wypowiedzi z grupy o Javie i uważam, że ten kawałek kodu
jest ok, ale jego komentarz jest poniżej Twojego poziomu. Używając Twoich
słów:
(Ja) Wypowiedzi Piotra Kobzdy cenię, jak mało które.
> Interakcja klas i obiektów w środowisku wielowątkowym to temat złożony,
> niewiele związany z singletonami jako takimi. Trzeba wiedzieć np., że
> inicjalizacja kalsy jest zsynchronizowana, przez co może się zakleszczyć
> jeśli powiązana jest z interakcją z innych wątków, podobnie jak wiedzieć
> trzeba co zrobić, aby singleton był serialiowowalny itp. Nie dotyczy
> jednak ten komentarz już Twojej potrzeby, na którą odpowiedziałem, tak
> przynajmniej mi się zdaje.
A jeszcze parę słów o zagadnieniu statycznej inicjalizacji i sekwencji,
która jest z tym związana? Czyli kiedy singletony są zależne (nie chodzi o
cykl, tylko o zwykłą zależność).
Tak na marginesie, to nie zależnie od tego, czy wątki i procesy
synchronizacji są związane z singletonami, czy nie, to Pan A.L. krytykę
zastosował całkiem innego kalibru niż Ty.
To co napisałeś powyżej świadczy o znajomości tematu, a dalej nie piszesz
źle o książce której nie znasz.
Pozdrawiam.
Ps. Niestety nasz przykład pokazuje, że relacja uznawania zdania jest ine
przechodnia :-).
--
|\/\/| Seweryn Habdank-Wojewódzki
\/\/
Re: Dlaczego singletony?
Author: Seweryn Habdank-Wojewódzki
Date: Tue, 24 Apr 2007 21:40
Date: Tue, 24 Apr 2007 21:40
29 lines
2060 bytes
2060 bytes
Witam A.L. wrote: > Proponuje odeslac pana Wojewodzkiego do jakeijs elementarnej > litaertury, na przykald tutaj > > http://www.javaworld.com/javaworld/jw-04-2003/jw-0425-designpatterns.html No toś się Pan wykazał. Dziękuję bardzo, rewelacja. I Pan sugerował, że temat zamknie Pan w 0.5 strony!!! Tam stron jest 4 maleńkim literkami - po wydrukowaniu też wyjdzie ze 30, a wszystko nt. singletona. I też jest opisane zagadnienie pod kątem wątków i całej masy spraw, które ponoć nie są związane z singletonem, tylko poco kolejny autor o nich pisze. A może to jest jakaś Pańska ukryta drwina? A mi Pan opowiada bajki, że temat jest banalny. Sam Pan sobie zaprzeczył. Mało tego nadal nie uważam, że temat nie jest banalny. Temat nie jest trudny, ale do banalnych nie należy. Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki \/\/
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads