Stwórz profil

Musisz wpisać swoje imię
Musisz wpisać swoje nazwisko
Musisz wpisać poprawny e-mail
Musisz wpisać hasło (min. 8 znaków)
Musisz zaakceptować regulamin

Paweł Koralewski starszy programista,
wiem ile nie wiem

Temat: [Sf2] usługa vs klasa w globalnym namespace

Nie bardzo jestem w stanie wywnioskować, jakie są korzyści z korzystania z usług w porównaniu z funkcjonalnościami, które zawarłbym w pojedynczej, zamkniętej (przetestowanej, działającej) klasie - Singletonie, która byłaby dostępna w globalnej przestrzeni nazw:
$x = \x::getInstance();

Gdy mam klasę, to mam podpowiedzi kontekstowe w IDE, gdy jest to usługa, to mam:
$x = $this->get('x');
/* @var \x $x */ //czy jakoś tak

i tak bym musiał w każdym tworzeniu $x pisać.
31.10.2011, 14:23

Łukasz Skowroński Współwłaściciel,
Leader's Mind

Temat: [Sf2] usługa vs klasa w globalnym namespace

Wg mnie korzystając z usług masz bardziej jednolity interfejs za pomocą którego możesz pobierać różne usługi korzystając z jeden metody. W przypadku gdybyś tworzył takie namespace jak podałeś będą w sposób przemyślany bądź nie, dochodzić do rozbieżności i zamieszania.

Podsumowując wydaje mi się, że korzystanie z usług będzie lepiej uzasadnione architektonicznie ;)
31.10.2011, 14:26

Krzysztof N. Project Manager.
Aplikacje www. PHP,
Symfony, Zend.

Temat: [Sf2] usługa vs klasa w globalnym namespace

Paweł Koralewski:
Nie bardzo jestem w stanie wywnioskować, jakie są korzyści z korzystania z usług w porównaniu z funkcjonalnościami, które zawarłbym w pojedynczej, zamkniętej (przetestowanej, działającej) klasie - Singletonie
Moim zdaniem, które popieram fragmentem dokumentacji What is a Service?, usługa to element bardziej elastyczny. Dzięki niej otrzymujesz niezależny fragment kodu, który możesz wydzielić ze swojej aplikacji. Wywołujesz jakąś usługę, jej metodę i otrzymujesz efekt. I tyle. Nie martwisz się o położenie pliku, namespace etc.
31.10.2011, 18:39

Paweł Koralewski starszy programista,
wiem ile nie wiem

Temat: [Sf2] usługa vs klasa w globalnym namespace

Krzysztof N.:
Nie martwisz się o położenie pliku, namespace etc.

To mnie przekonuje :)
31.10.2011, 20:29

Wojciech Sznapka Software Architect,
XSolve

Temat: [Sf2] usługa vs klasa w globalnym namespace

Poza tym serwis/usługę możesz podmienić w konfiguracji dla innego środowiska, np testowego (można mock'ować serwisy), przy Singletonie musiałbyś wylać wiele łez, żeby to uzyskać ;-)
1.11.2011, 20:20



Wyślij zaproszenie do