-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!news.internetia.pl!news.
nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!glegrou
psg2000goo.googlegroups.com!not-for-mail
From: Maciej Sobczak <s...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: kiedy singleton, a kiedy statyczne metody?
Date: Fri, 13 Jul 2012 22:30:55 -0700 (PDT)
Organization: http://groups.google.com
Lines: 39
Message-ID: <f...@g...com>
References: <e...@g...com>
NNTP-Posting-Host: 46.171.80.166
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1342243855 26135 127.0.0.1 (14 Jul 2012 05:30:55 GMT)
X-Complaints-To: g...@g...com
NNTP-Posting-Date: Sat, 14 Jul 2012 05:30:55 +0000 (UTC)
In-Reply-To: <e...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=46.171.80.166;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
User-Agent: G2/1.0
Xref: news-archive.icm.edu.pl pl.comp.programming:198453
[ ukryj nagłówki ]W dniu piątek, 13 lipca 2012 20:10:10 UTC+2 użytkownik (Nieznane) napisał:
> Mam nieduże doświadczenie w OOP. Pojawiło mi się takie pytanie: kiedy używac klasy
z samymi statycznymi metodami a kiedy wzorca sigleton?
Singleton ma sens wtedy, gdy obiekt ma implementować zadany interfejs. Wtedy
singleton zwraca jeden egzemplarz obiektu klasy pochodnej.
Jak często taka sytuacja występuje? Trudno powiedzieć. Przykładem z biblioteki
standardowej są obiekty cin, cout i cerr, które istnieją w jednym egzeplarzu i
realizują interfejsy istream/ostream.
Dobrym przykładem mogą być też różne biblioteki do logowania, gdzie jest jakiś
interfejs loggera i jakaś funkcja, która zwraca ten "jeden jedyny" (np. root logger
albo jak go tam nazwiemy), co nie wyklucza też istnienia wielu innych,
implementujących ten sam interfejs.
Natomiast jeśli nie ma potrzeby realizowania zadanego interfejsu, to singleton tylko
plącze się między nogami. Funkcje statyczne też się plączą. Napisz po prostu funkcję,
której implementację umieścisz w osobnym pliku a jej stan zdefiniujesz w nienazwanej
przestrzeni nazw. Coś takiego:
// counter.h:
int getNextValue();
// counter.cpp:
namespace
{
int nextValue = 0;
}
int getNextValue() { return nextValue++; }
I tyle.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 14.07.12 11:09 Adam Wysocki
- 14.07.12 23:27 Maciej Sobczak
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Gdańsk => Software .Net Developer <=
- 2024-11-08 Akumulator Hyundai
- 2024-11-08 Warszawa => Manager/Specialist e-commerce (B2C) <=
- 2024-11-08 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-08 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-08 znaj podstawe
- 2024-11-08 Chrzanów => Specjalista ds. public relations <=
- 2024-11-08 Warszawa => Data Scientist / Data Engineer (predictive modelling) <=
- 2024-11-08 zbrojone wężyki hamulcowe