🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Dobre praktyki

#231899
From: Marek S
Date: Sat, 27 Jan 2018 22:35
51 lines
3582 bytes
W dniu 27-01-2018 o 23:02, Wojciech Bancer pisze:

> A skąd założenie że jest singletonem?

To nie założenie. Bo (raczej) nie może być czymkolwiek innym.


> Gdzie tu widzisz wzorzec singletona?

W tym, że jest obiekt nadrzędny nad wszystkimi, który tylko można 
zainicjować i nic więcej. W całej aplikacji zawiera tylko jedno 
zainicjowanie. Jest singlem.

> Rozumiesz czym jest ten wzorzec?

Być może. Sprostuj mnie jeśli błędnie to ujmuję.

> No to mamy niezgodę, bo ja nie uznaję dowolnego pojedynczego obiektu
> za singletona tylko dlatego że jest jeden :P

No więc jesteśmy coraz bliżej zdefiniowania rozbieżności interpretacji. 
:-) Nie bardzo rozumiem czemu przyjmujesz definicję z Wiki za 
nieprawdziwą. Może małymi krokami i na przykładzie.

Ok, powiedz mi na podstawie kodu:

class cosTam() {}
$obj=new cosTam();

Powyższe to całość aplikacji. Nie ma więcej kodu. To jest jedna klasa i 
obiekt z niej. Czy jest to wzorzec singletona czy DI czy cokolwiek? Bo 
dla mnie to czysty singleton zgodny z definicją Wiki. Załóżmy, że 
odpowiesz mi cokolwiek. Teraz dostawiamy jedną metodę do tej klasy. Czy 
coś się zmienia w tym co mi odpowiedziałeś? Pewnie nie. No to lećmy 
dalej: budujemy inne klasy, które zaczynają korzystać z powyższej bo 
powyższa np. udostępnia połączenie do bazy a inne go pragną. Od jakiego 
momentu powyższa klasa przestaje być singletonem a zaczyna być DI?

Wyjaśnię jak ja rozumuję. Jedyna klasa w całej aplikacji musi być 
singletonem. Nawet jeśli dostawi się do niej mnóstwo właściwości i metod 
to nic się nie zmieni. Jeśli dostawimy teraz inne klasy, które 
komunikują się z powyższą, to mogą one zacząć stanowić model DI. Wtedy 
mówimy, że wszystkie pozostałe klasy "pracują" w/g wzorca DI. Jednakże 
nie pozwala to przechrzcić klasy nadrzędnej. Ona udostępnia interfejs DI 
ale sama jest singletonem.

Twój ruch :-)

-- 
Pozdrawiam,
Marek
Technical Details
Message-ID: <p4iur2$h47$1@node1.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!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> <slrnp6p0qc.gpr.wojciech.bancer@pl-test.org> <p4iev1$uic$1@node2.news.atman.pl> <slrnp6pl4l.mtr.wojciech.bancer@pl-test.org> <p4ip7b$boi$1@node1.news.atman.pl> <slrnp6ptnk.q0u.wojciech.bancer@pl-test.org>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Marek S <precz@spamowi.com>
Newsgroups: pl.comp.lang.php
Subject: Re: Dobre praktyki
Date: Sat, 27 Jan 2018 23:35:08 +0100
Organization: ATMAN - ATM S.A.
Lines: 51
Message-ID: <p4iur2$h47$1@node1.news.atman.pl>
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> <slrnp6p0qc.gpr.wojciech.bancer@pl-test.org> <p4iev1$uic$1@node2.news.atman.pl> <slrnp6pl4l.mtr.wojciech.bancer@pl-test.org> <p4ip7b$boi$1@node1.news.atman.pl> <slrnp6ptnk.q0u.wojciech.bancer@pl-test.org>
NNTP-Posting-Host: 89-69-207-111.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: node1.news.atman.pl 1517092514 17543 89.69.207.111 (27 Jan 2018 22:35:14 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Sat, 27 Jan 2018 22:35:14 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2
In-Reply-To: <slrnp6ptnk.q0u.wojciech.bancer@pl-test.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit