🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #13837

Eliminacja singletonów

#13837
From: Przemek Pokrywka
Date: Tue, 17 Jan 2006 22:22
20 lines
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-mail

Show 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