🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #14865

Re: kolekcja/manager obiektów

#14865
From: Sektor van Skijlen
Date: Wed, 12 Jul 2006 10:30
65 lines
4821 bytes
Dnia Tue, 11 Jul 2006 21:07:30 +0200, Przemek Pokrywka skrobie:
> Przyznam, że szczerze mnie rozbawiła myśl o naginaniu modelu pod 
> konkretny wzorzec. Oczyma mojej wyobraźni widzę już Pana Projektanta 
> (ba! Architekta) zastanawiającego się, którego wzorca w danym przypadku 
> użyć (i, zniecierpliwionego brakiem natchnienia, wertującego spis treści 
> GoF). ROTFL :-))))

Właśnie o tym samym pomyślałem i też mnie to rozbawiło ;).

> Ludzie (a zwłaszcza Ty, Sektorze) - czy od czasu GoF nie pojawiają się 
> już nowe wzorce projektowe? Spójrzcie sobie chociaż na twórczość Roberta 
> C. Martina, ile on natworzył odmian wzorca Visitor.

No dobrze, ale jeśli już się zabieramy za tworzenie odmian, to trzeba
wiedzieć nie tylko, czy dany wzorzec można tu zastosować, ale czy w ogóle
opłaca się wymyślać odmianę jakiegoś konkretnego wzorca. Cała idea Observera
zasadza się nie na delegowaniu operacji (bo to ci jest właśnie tu potrzebne),
tylko na synchronizacji stanu. Dlatego moim zdaniem z wzorca Observer jedyne,
co ci jest tu potrzebne, to hipotetyczne "obserwowanie". Co i tak nie jest
jeszcze dokładnie tym, co ci jest potrzebne.

> Pisząc "Observer" miałem jedynie na myśli pewną klasę wzorców, a nie 
> literalne zastosowanie wzorca wg tekstu GoF. Z takim zresztą 
> traktowaniem wzorców (jako środka wspomagającego komunikację) spotykam 
> się na każdym kroku w sieci. Nie jestem na tej grupie osamotniony, bo 
> Adam od razu zorientował się, o co mi chodzi.
> A widziałem już sporo odmian każdego ze wzorców, żeby zrozumieć co jest 
> w nich niezmienne i naprawdę ważne.

To, co jest w tych wzorcach istotne, to ich idee i podstawowe założenia. Jeśli
to, co chcesz zrobić, sprzecza się z tymi założeniami, to wzorca nie możesz
nie tylko zastosować, ani nawet przykroić. Jeśli nawet chcesz stworzyć odmianę
wzorca, to musisz zdawać sobię sprawę z jego podstawowych założeń i działać
dokładnie z tymi założeniami. Jeśli się nie da, to po cholere się pchać w
konkretny wzorzec - wymyślić po prostu swoje własne, dobre rozwiązanie. Wzorce
mogą służyć jako podpowiedź lub podsuwanie dobrych (sprawdzonych) pomysłów, a
nie gotowych rozwiązań.

> Jasne, możliwość zastosowania wzorca w jego najbardziej standardowej 
> postaci jest najlepsza, bo można ją np. szybciej zakomunikować nowemu 
> uczestnikowi projektu, ale modelowana rzeczywistość bywa różna i na 
> pewno nie należy jej naginać na potrzebę zastosowania jakiegokolwiek 
> wzorca!

Dokładnie tak.

> W innym przypadku możemy się rozminąć z radą A. Einsteina 
> "Everything should be as simple as possible - but __no__ simpler", wraz 
> ze wszystkimi tego konsekwencjami.

> W użytym przeze mnie przykładzie SessionManager po otrzymaniu informacji 
> od Session, że została zdeaktywowana aktualizował jeden ze swoich 
> wewnętrznych indeksów, służących mu do wyszukiwania sesji aktywnych.

No właśnie to miałem na myśli, mówiąc że sesja miałaby być przez managera
jeszcze dodatkowo "wykopana" ze zbiornika.

I właśnie dlatego sesja nie powinna być dostępna z zewnątrz, bo deaktywacja
sesji z zewnątrz spowodowałaby pozostawienie "zwłok" w manadżerze.

-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"I am allergic to Java because programming in Java reminds me casting spells"
Technical Details
Message-ID: <e92j0m$8ug$2@kujawiak.man.lodz.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.man.lodz.pl!not-for-mail
References: <e8u9d9$bf1$1@news.onet.pl> <1152609582.735276.3000@s13g2000cwa.googlegroups.com> <e8vuu0$cnv$1@inews.gazeta.pl> <1152618395.489264.92060@35g2000cwc.googlegroups.com> <e90b83$89c$1@inews.gazeta.pl> <e90d12$f0q$1@kujawiak.man.lodz.pl> <e90ls6$gdq$1@inews.gazeta.pl> <e90sti$irb$1@news.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.man.lodz.pl!not-for-mail
From: Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid>
Newsgroups: pl.comp.objects
Subject: Re: kolekcja/manager obiektów
Date: Wed, 12 Jul 2006 10:30:46 +0000 (UTC)
Organization: LODMAN - Metropolitan Area Network in LODZ, Poland
Lines: 65
Sender: Michal Malecki <sektor@zly.kis.p.lodz.pl>
Message-ID: <e92j0m$8ug$2@kujawiak.man.lodz.pl>
References: <e8u9d9$bf1$1@news.onet.pl>   <1152609582.735276.3000@s13g2000cwa.googlegroups.com>   <e8vuu0$cnv$1@inews.gazeta.pl> <1152618395.489264.92060@35g2000cwc.googlegroups.com> <e90b83$89c$1@inews.gazeta.pl> <e90d12$f0q$1@kujawiak.man.lodz.pl> <e90ls6$gdq$1@inews.gazeta.pl> <e90sti$irb$1@news.onet.pl>
NNTP-Posting-Host: zly.kis.p.lodz.pl
Mime-Version: 1.0
X-Trace: kujawiak.man.lodz.pl 1152700246 9168 212.191.89.2 (12 Jul 2006 10:30:46 GMT)
X-Complaints-To: abuse@man.lodz.pl
NNTP-Posting-Date: Wed, 12 Jul 2006 10:30:46 +0000 (UTC)
User-Agent: tin/1.6.2-20030910 ("Pabbay") (UNIX) (SunOS/5.9 (sun4u))
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit