Article View: pl.comp.objects
Article #13837Eliminacja singletonów
From: Przemek Pokrywka
Date: Tue, 17 Jan 2006 22:22
Date: Tue, 17 Jan 2006 22:22
20 lines
1815 bytes
1815 bytes
W tworzonym przeze mnie systemie użyłem w pewnej liczbie przypadków wzorca singleton. W trakcie rozwoju projektu okazało się, że kilka z tych przypadków powinno przestać być singletonami, a wejść w skład instancji pewnego komponentu, który do tej pory był jeden w całym procesie (systemu operacyjnego), a według nowego wymagania powinna być możliwość posiadania jego kilku instancji. Kłopot w tym, że wiele kodu, mającego wejść w skład tego komponentu polega już na globalnej obecności tych paru singletonów. W tej chwili narzuca mi się rozwiązanie, polegające na tym, żeby poprzez konstruktory przekazywać te obiekty (najlepiej zgrupowane w jakiś obiekt kontekstu) od obiektu komponentu do najmniejszego z obiektów składowych potrzebującego korzystać z usług obecnych singletonów. Jest to jednak dosyć inwazyjna zmiana i ciekaw jestem, czy nie poradził sobie ktoś kiedyś z tym problemem w inny sposób? Przemek
Technical Details
Message-ID:
<dqjqn2$nv2$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!newsfeed.silweb.pl!news.onet.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!newsfeed.silweb.pl!news.onet.pl!not-for-mail From: Przemek Pokrywka <adres@zastrzezony.com> Newsgroups: pl.comp.objects Subject: Eliminacja singletonów Date: Tue, 17 Jan 2006 23:22:23 +0100 Organization: Onet.pl Lines: 20 Message-ID: <dqjqn2$nv2$1@news.onet.pl> NNTP-Posting-Host: 041.inet.polhost.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1137536546 24546 80.48.120.41 (17 Jan 2006 22:22:26 GMT) X-Complaints-To: usenet@news.onet.pl NNTP-Posting-Date: Tue, 17 Jan 2006 22:22:26 +0000 (UTC) X-Sender: 5aB4pqMdeQG1O30L902dNmlAzoKeNKcS X-Accept-Language: pl, en-us, en User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit