Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.lang.php > #15709

Re: Dobre praktyki

From Marek S <precz@spamowi.com>
Newsgroups pl.comp.lang.php
Subject Re: Dobre praktyki
Date 2018-01-27 23:56 +0100
Organization ATMAN - ATM S.A.
Message-ID <p4j03c$ia2$1@node1.news.atman.pl> (permalink)
References (10 earlier) <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 all headers | View raw


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

Back to pl.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Dobre praktyki Roman Tyczka <noemail@because.no> - 2018-01-18 13:37 +0100
  Re: Dobre praktyki Lemat <#@lemat.priv.pl> - 2018-01-18 18:30 +0100
    Re: Dobre praktyki Marek S <precz@spamowi.com> - 2018-01-25 20:31 +0100
      Re: Dobre praktyki Lemat <#@lemat.priv.pl> - 2018-01-25 20:44 +0100
        Re: Dobre praktyki Marek S <precz@spamowi.com> - 2018-01-25 20:48 +0100
          Re: Dobre praktyki Roman Tyczka <noemail@because.no> - 2018-01-25 21:22 +0100
            Re: Dobre praktyki Marek S <precz@spamowi.com> - 2018-01-25 23:55 +0100
              Re: Dobre praktyki Lemat <#@lemat.priv.pl> - 2018-01-26 05:48 +0100
                Re: Dobre praktyki Marek S <precz@spamowi.com> - 2018-01-26 13:48 +0100
            Re: Dobre praktyki Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-01-26 00:02 +0100
              Re: Dobre praktyki Roman Tyczka <noemail@because.no> - 2018-01-26 23:16 +0100
                Re: Dobre praktyki Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-01-27 13:09 +0100
                Re: Dobre praktyki Borys Pogoreło <borys@pl.edu.leszno> - 2018-01-27 23:04 +0100
                Re: Dobre praktyki Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-01-27 23:07 +0100
                Re: Dobre praktyki Borys Pogoreło <borys@pl.edu.leszno> - 2018-01-27 23:22 +0100
                Re: Dobre praktyki Borys Pogoreło <borys@pl.edu.leszno> - 2018-01-27 23:31 +0100
          Re: Dobre praktyki artiun <artiun@spam.wp.pl> - 2018-01-26 00:06 +0100
  Re: Dobre praktyki denat 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2018-01-18 20:03 +0100
  Re: Dobre praktyki Rafal Podsiadly <spinacz24@gmail.com> - 2018-01-21 05:03 -0800
    Re: Dobre praktyki Roman Tyczka <noemail@because.no> - 2018-01-21 22:38 +0100
    Re: Dobre praktyki Borys Pogoreło <borys@pl.edu.leszno> - 2018-01-22 21:56 +0100
      Re: Dobre praktyki Rafal Podsiadly <spinacz24@gmail.com> - 2018-01-24 08:16 -0800
        Re: Dobre praktyki Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-01-24 17:20 +0100
          Re: Dobre praktyki Rafal Podsiadly <spinacz24@gmail.com> - 2018-01-24 21:30 -0800
            Re: Dobre praktyki Marek S <precz@spamowi.com> - 2018-01-25 20:46 +0100
            Re: Dobre praktyki Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-01-25 21:10 +0100
              Re: Dobre praktyki Marek S <precz@spamowi.com> - 2018-01-26 00:03 +0100
                Re: Dobre praktyki Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-01-26 00:26 +0100
                Re: Dobre praktyki Marek S <precz@spamowi.com> - 2018-01-26 14:00 +0100
                Re: Dobre praktyki Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-01-27 13:05 +0100
                Re: Dobre praktyki Marek S <precz@spamowi.com> - 2018-01-27 13:40 +0100
                Re: Dobre praktyki Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-01-27 14:49 +0100
                Re: Dobre praktyki Marek S <precz@spamowi.com> - 2018-01-27 19:04 +0100
                Re: Dobre praktyki Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-01-27 20:35 +0100
                Re: Dobre praktyki Marek S <precz@spamowi.com> - 2018-01-27 21:59 +0100
                Re: Dobre praktyki Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-01-27 23:02 +0100
                Re: Dobre praktyki Marek S <precz@spamowi.com> - 2018-01-27 23:35 +0100
                Re: Dobre praktyki Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-01-28 00:24 +0100
                Re: Dobre praktyki Borys Pogoreło <borys@pl.edu.leszno> - 2018-01-27 22:49 +0100
                Re: Dobre praktyki Marek S <precz@spamowi.com> - 2018-01-27 23:08 +0100
                Re: Dobre praktyki Borys Pogoreło <borys@pl.edu.leszno> - 2018-01-27 23:26 +0100
                Re: Dobre praktyki Marek S <precz@spamowi.com> - 2018-01-27 23:56 +0100
                Re: Dobre praktyki Borys Pogoreło <borys@pl.edu.leszno> - 2018-01-28 00:34 +0100
        Re: Dobre praktyki Roman Tyczka <noemail@because.no> - 2018-01-24 20:29 +0100
          Re: Dobre praktyki Rafal Podsiadly <spinacz24@gmail.com> - 2018-01-24 21:51 -0800
          Re: Dobre praktyki Borys Pogoreło <borys@pl.edu.leszno> - 2018-01-27 22:43 +0100
            Re: Dobre praktyki Roman Tyczka <noemail@because.no> - 2018-01-29 08:48 +0100
              Re: Dobre praktyki Borys Pogoreło <borys@pl.edu.leszno> - 2018-01-30 20:37 +0100
        Re: Dobre praktyki Borys Pogoreło <borys@pl.edu.leszno> - 2018-01-27 22:45 +0100
          Re: Dobre praktyki Rafal Podsiadly <spinacz24@gmail.com> - 2018-01-28 07:08 -0800
    Re: Dobre praktyki Marek S <precz@spamowi.com> - 2018-01-25 20:36 +0100

csiph-web