🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #231903

Re: Dobre praktyki

#231903
From: Borys Pogoreło
Date: Sat, 27 Jan 2018 22:26
35 lines
2891 bytes
Dnia Sat, 27 Jan 2018 23:08:02 +0100, Marek S napisał(a):

> Chodzi mi o to, że nie da się w zasadzie tak napisać aplikacji aby nie 
> miała jednego, nadrzędnego singletona. Cała aplikacja bazuje na modelu 
> DI ale jej "kernel" _zawsze_ musi być zainicjowany globalnie. A jeśli 
> jest zainicjowany globalnie to staje się singletonem.

Nie. Przeczytaj jeszcze raz definicję singletona. Obiekt zainicjowany
globalnie jest, cóż, po prostu obiektem zainicjowanym globalnie. I niczym
więcej. Jak go zapakujesz w klasę statyczną i zapewnisz, że jest tworzona
tylko jedna instancja tego obietu, to otrzymujesz singletona.

> Może to abstrakcyjnie zilustruję. Niech oprogramowanie DI przypomina 
> książkę. Są w niej rozdziały, w rozdziałach zdania, w zdaniach wyrazy. 
> Widać hierarchię. Każdy z wyrazów, rozdziałów ma dostęp do książki, 
> której część stanowi. Książka pozwala na współzależność rozdziałów.

Mieszasz pojęcia. DI to zupełnie inny wzorzec i nie ma nic wspólnego z
powyższym opisem. To jest jedynie sposób przekazywania obiektów do innych
obiektów.

> A od czego zależy sama książka? Od niczego! Stanowi samoistny byt. 
> Singleton! :-) Uruchamiamy na serwerze 10 aplikacji lub 10 instancji tej 
> samej aplikacji - mamy 10 singletonów.

Mamy 10 instancji, nic więcej.

> Czy robię jakiś błąd myślowy?

Tak. Przypisujesz pojęciom inne znaczenia. Z tego możesz wywieść dowolny
wniosek.

-- 
Borys Pogoreło
borys(#)leszno,edu,pl
Technical Details
Message-ID: <1essghgq5rjr3$.w7m0zex3vvk4.dlg@40tude.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.promontel.net.pl!not-for-mail
References: <2lhebv1xabri$.dlg@tyczka.com> <6d0bd754-9b46-46ce-98ff-c5265a9a93af@googlegroups.com> <chac9zcm8l6a.1gxug7ng6lbce$.dlg@40tude.net> <cd0f750f-2346-4016-bbbd-a72c386c561d@googlegroups.com> <slrnp6hci6.23ml.wojciech.bancer@pl-test.org> <fc6bfbc5-c858-4156-95c5-cb276d07067e@googlegroups.com> <slrnp6kee7.2lbk.wojciech.bancer@pl-test.org> <p4dnnf$m5b$1@node2.news.atman.pl> <slrnp6kpt1.30s7.wojciech.bancer@pl-test.org> <p4f8p3$tfb$1@node1.news.atman.pl> <slrnp6oqo7.g5g.wojciech.bancer@pl-test.org> <p4hrvu$ctn$1@node2.news.atman.pl> <11l45q8stqimo.1ek020f0hu8h9$.dlg@40tude.net> <p4it89$fjh$1@node1.news.atman.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.promontel.net.pl!not-for-mail
From: Borys Pogoreło <borys@pl.edu.leszno>
Newsgroups: pl.comp.lang.php
Subject: Re: Dobre praktyki
Date: Sat, 27 Jan 2018 23:26:57 +0100
Organization: snafu
Lines: 35
Message-ID: <1essghgq5rjr3$.w7m0zex3vvk4.dlg@40tude.net>
References: <2lhebv1xabri$.dlg@tyczka.com> <6d0bd754-9b46-46ce-98ff-c5265a9a93af@googlegroups.com> <chac9zcm8l6a.1gxug7ng6lbce$.dlg@40tude.net> <cd0f750f-2346-4016-bbbd-a72c386c561d@googlegroups.com> <slrnp6hci6.23ml.wojciech.bancer@pl-test.org> <fc6bfbc5-c858-4156-95c5-cb276d07067e@googlegroups.com> <slrnp6kee7.2lbk.wojciech.bancer@pl-test.org> <p4dnnf$m5b$1@node2.news.atman.pl> <slrnp6kpt1.30s7.wojciech.bancer@pl-test.org> <p4f8p3$tfb$1@node1.news.atman.pl> <slrnp6oqo7.g5g.wojciech.bancer@pl-test.org> <p4hrvu$ctn$1@node2.news.atman.pl> <11l45q8stqimo.1ek020f0hu8h9$.dlg@40tude.net> <p4it89$fjh$1@node1.news.atman.pl>
NNTP-Posting-Host: public-gprs394086.centertel.pl
Mime-Version: 1.0
X-Trace: thunar.promontel.net.pl 1517091937 32258 37.47.170.167 (27 Jan 2018 22:25:37 GMT)
X-Complaints-To: abuse@promontel.net.pl
NNTP-Posting-Date: Sat, 27 Jan 2018 22:25:37 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.14.1pl
X-fnord: obey.
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit