tag:blogger.com,1999:blog-4782981620644831943.post3913611818534501496..comments2018-09-16T12:26:31.456+01:00Comments on skolima: Singleton w C#skolimahttp://www.blogger.com/profile/13638993878949515686noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-4782981620644831943.post-46981105811608054102006-02-03T18:46:00.006+00:002006-02-03T18:46:00.006+00:00i ktoś tu ostatnio wspominał o zaśmiecaniu swoich ...i ktoś tu ostatnio wspominał o zaśmiecaniu swoich wypowiedzi różnorakimi znaczkami ;Pshinnoreply@blogger.comtag:blogger.com,1999:blog-4782981620644831943.post-34372014963353333532006-02-03T18:46:00.005+00:002006-02-03T18:46:00.005+00:00...aż mi się przypomina dyskusja z ostatniego spot......aż mi się przypomina dyskusja z ostatniego spotkania, jak to ludzie studiujący pewien kierunek stopniowo przejmują coraz więcej jego cech... Jesteś pewny, Skolimo, że nie masz już monitora ciekłokrystalicznego zamiast twarzy?... Takie niewinne pytanie...Angaynoreply@blogger.comtag:blogger.com,1999:blog-4782981620644831943.post-62984503733187506252006-02-03T18:46:00.004+00:002006-02-03T18:46:00.004+00:00Wzorzec Singleton jest z założenia jednowątkowy, w...Wzorzec Singleton jest z założenia jednowątkowy, więc taka implementacja nie jest błędem. Sposobów na zapewnienie wielowątkowości jest wiele i nie należy to do "specyfikacji" wzorca Singleton.<br><br>Sposób zaprezentowany w MSDN jest powszechnie używanym "blokowaniem dwufazowym" i sprawdza się.KoSiarznoreply@blogger.comtag:blogger.com,1999:blog-4782981620644831943.post-15404307928831153992006-02-03T18:46:00.003+00:002006-02-03T18:46:00.003+00:00Dammit, zaraz muszę prowadzącym powiedzieć, że pom...Dammit, zaraz muszę prowadzącym powiedzieć, że pomylili się przepuszczając mnie na egzaminie :P Za założenia jednowątkowy? Kiedy mamy jeden wątek singleton niezbędny nie jest, przecież nie ma "wyścigu" między wątkami, dokładnie wiadomo, kiedy ta jedna jedyna dozwolona instancja zostanie utworzona. Można obiekt łatwo przekazywać między metodami, które go potrzebują. Jest to dużo trudniejsze przy wielu wątkach - i wszystkie zastosowania tego wzorca, z którymi się spotkałem w praktyce, używały go wielowątkowo.<br><br><br>A sposób z MSDN (ten ostatni) - działa bezpiecznie i wielowątkowo. Do tego zastrzeżeń nie mam. Ale nie jest optymalny - używa lock, kiedy można się bez niego obejść i nie opóźnia tworzenia instancji (wydajność!). Nie pozwala na inicjalizację singletona parametrami przed odwołaniem się do instancji (brak statycznego konstruktora, ergo JIT tworzy instancję w dowolnym momencie przed jej wykorzystaniem).<br><br><br>Poza tym, kod który przedstawiłem jest bardziej elegancki. Dla mnie to ważne.skolimahttp://skolima.blogspot.com/noreply@blogger.comtag:blogger.com,1999:blog-4782981620644831943.post-31244980834965435782006-02-03T18:46:00.002+00:002006-02-03T18:46:00.002+00:00Singleton jest używany do tego by instancja danej ...Singleton jest używany do tego by instancja danej klasy była tylko jedna, np. udostepniając bibliotekę innym programistom, umożliwiając pisanie wtyczek do programu itp. Nawet przy jednowątkowych aplikacjach singleton jest przydatny. Dlatego uważam, że obsługa wielowątkowości nie należy do "specyfikacji" tego wzorca i nie można mówić o błędnej implementacji tego wzorca która jej nie uwzględnia.<br><br>Zaimplementuj teraz podaną przez ciebie metodę w C++. Mówiąc o powszechności użytej metody w MSDN chodziło mi o jej latwe zastosowanie w wielu jezykach. Jest łatwa i czytelna w porównaniu do tej przedstawionej przez Ciebie. Np nie wiedziałem o takim zachowaniu sie klasy statycznej w C#.<br><br>Jednak masz rację, że sposób podany przez Ciebie jest wydajniejszy i naprawde mi się podoba choć nieco bardziej "skomplikowany".KoSiarznoreply@blogger.comtag:blogger.com,1999:blog-4782981620644831943.post-27946195493732825752006-02-03T18:46:00.001+00:002006-02-03T18:46:00.001+00:00Wiesz? Zawsze interesowało mnie jak to jest jak mó...Wiesz? Zawsze interesowało mnie jak to jest jak mówię do "nieoświeconych" po jap czy chin albo jak im tłumaczę gramatykę tudzież znaki. Well, teraz wiem :D. I zastanawiam się tylko czy tak samo ich ta całkowita niewiedza i ignorancja cieszy tak jak mnie tu teraz :D. Jakbym nie wiedziała co potrafisz zrobić z moim komputerem to bym była pod wrazeniem ;P ;))) hehe.Mo.noreply@blogger.comtag:blogger.com,1999:blog-4782981620644831943.post-62782349000635325202006-02-03T18:46:00.000+00:002006-02-03T18:46:00.000+00:00Uaktualniłem przykładowy kod, by nadawał się do uż...Uaktualniłem przykładowy kod, by nadawał się do użycia przy jak najmniejszej ilości zmian. Wystarczy uzupełnić komentarze.skolimahttp://skolima.blogspot.com/noreply@blogger.com