Article View: pl.comp.lang.php
Article #231900Re: Dobre praktyki
From: Marek S
Date: Sat, 27 Jan 2018 22:56
Date: Sat, 27 Jan 2018 22:56
43 lines
3593 bytes
3593 bytes
W dniu 27-01-2018 o 23:26, Borys Pogoreło pisze: > 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. Pewnie na czymś się zafiksowałem błędnie. W/g mnie sigleton nie ma nic wspólnego z koniecznością używania obiektów statycznych. Może, ale nie musi. Np. niech naszą aplikację inicjuje klasa "kernel". Ona wewnątrz siebie m.in. tworzy obiekt klasy Database. Klasa Database zaraz po zainicjowaniu tworzy połączenie i udostępnia nie-statyczne metody do realizacji zadań w ramach tego połączenia. Kernel zapewnia, że tylko jedna instancja tejże klasy powstanie. Wszystkie inne obiekty korzystające z kernela zyskują automatycznie dostęp do bazy danych. Zgodnie z tym co napisałeś, skoro kernel tworzy tylko jedną instancję bazy danych, to jest już singletonem? Bo jeśli tak, to na przykładzie bazy danych - jak inaczej tworzyć z nią komunikację? Za każdym razem otwierać nowe połączenie? To zabójstwo dla wydajności przecież. > Tak. Przypisujesz pojęciom inne znaczenia. Z tego możesz wywieść dowolny > wniosek. Ok. To może inaczej: sposób wykorzystania klasy nadrzędnej może zmienić jej definicję wzorca z singletona na DI? Pytanie stąd, że dla mnie wzorzec zaczyna się pomiędzy interfejsem klasy nadrzędnej a resztą otoczenia i nie rzutuje na nazewnictwo wzorca współpracy danej klasy z otoczeniem. Jednakże sama klasa nadrzędna nie stanowi nigdy wzorca innego niż singleton. Czyli jeden projekt informatyczny jest singletonem w pierwszych liniach kodu a cała reszta komunikacji z singletonem może odbywać się zgodnie ze wzorcem DI. Co nie powoduje iż na kolejnym etapie zagnieżdżenia znów jakiegoś singletona zastosujemy otrzymując wzorzec mieszany dla całości. Czy to nie tak działa definicja wzorca? -- Pozdrawiam, Marek
Technical Details
Message-ID:
<p4j03c$ia2$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-mailReferences:
<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> <1essghgq5rjr3$.w7m0zex3vvk4.dlg@40tude.net>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:56:37 +0100 Organization: ATMAN - ATM S.A. Lines: 43 Message-ID: <p4j03c$ia2$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> <11l45q8stqimo.1ek020f0hu8h9$.dlg@40tude.net> <p4it89$fjh$1@node1.news.atman.pl> <1essghgq5rjr3$.w7m0zex3vvk4.dlg@40tude.net> NNTP-Posting-Host: 89-69-207-111.dynamic.chello.pl Mime-Version: 1.0 X-Trace: node1.news.atman.pl 1517093804 18754 89.69.207.111 (27 Jan 2018 22:56:44 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Sat, 27 Jan 2018 22:56:44 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 In-Reply-To: <1essghgq5rjr3$.w7m0zex3vvk4.dlg@40tude.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit