content top

observer

observer

Obserwator jest wzorcem projektowym, należącym do kategorii czynnościowych. Jak każdy design pattern składa się z kilku elementów, tworzących razem spójną i logiczną całość. Zanim jednak przejdziemy do jego implementacji, na wstępie trochę teorii, celem wyjaśnienia zasad jego działania. Aby proces ten maksymalnie uprościć, posłużmy się przykładem z życia wziętym. obserwator w życiu Często bowiem zdarza się tak,...

Więcej

countable

countable

Standard PHP Library (SPL) posiada jeden bardzo ciekawy interfejs. Mowa o countable, który pozwala na obiektach klas jego implementujących, wywoływać funkcję count($countableObject). W tym krótkim wpisie pokażę jak tego dokonać, ilustrując to prostym przykładem. Countable składa się z prototypu tylko jednej metody – count(). Zatem stworzenie przykładowej klasy, korzystającej z dobrodziejstw tegoż interfejsu nie powinno...

Więcej

SPL exceptions

SPL exceptions

Wyjątki w PHP zostały wprowadzone wraz z wersją 5.0 tegoż języka. Mechanizm ten bazuje na klasie Exception, która jest podstawowym nośnikiem informacji o błędach, jakie mogą zostać zasygnalizowane przez aplikację. Sam interpreter PHP nie zgłasza wyjątków. Cała praca spoczywa więc po stronie programisty, który musi ów exception wygenerować, a następnie przechwycić i odpowiednio obsłużyć. W ramach szybkiego...

Więcej

service stub

service stub

Pisanie aplikacji, które chociaż w niewielkim stopniu korzystają z usług sieciowych lub zewnętrznych API (facebook, twitter, blip) staje się powoli standardem. Szczególnie teraz, gdy panuje moda na silną integrację tworzonych witryn internetowych z serwisami społecznościowymi i systemami mikroblogowymi. Bywa jednak tak, iż wykorzystująca wymienione wyżej komponenty funkcjonalność, nie może zostać przetestowana z różnych...

Więcej

coupling

coupling

W przypadku programowania obiektowego, pod pojęciem sprzężenia kryje się miara zależności występujących pomiędzy obiektami lub podsystemami. Doskonały przykład coupling’u to sytuacja, w której jeden obiekt wywołuje metodę innego obiektu. Kiedy tworzone oprogramowanie składa się z dużej ilości klas, a w przyszłości planowane jest wprowadzanie zmian (funkcjonalności, ewentualna rozbudowa) problem sprzężeń...

Więcej

chain of responsibility

chain of responsibility

Łańcuch odpowiedzialności to wzorzec projektowy, który znajduje zastosowanie w sytuacji, gdy konkretne żądanie może zostać obsłużone przez różne obiekty. Tworzą one uporządkowaną strukturę przypominającą swoją budową łańcuch. Jeśli jeden z nich nie jest w stanie prawidłowo zająć się request’em, to przekazuje jego obsługę dalej, do kolejnego handler’a. Na końcu zazwyczaj umieszczane jest działanie...

Więcej

profiling

profiling

Z zagadnieniem profilowania kodu, każdy programista spotyka się prędzej czy później. Przychodzi bowiem taki moment, w którym okazuje się, iż napisany przez nas komponent działa zbyt wolno, skutecznie obniżając wydajność całej aplikacji. Z pomocą dla programistów PHP przychodzą liczne narzędzia. Wybrany z nich (Xdebug), postaram się w sposób przystępny i zrozumiały zaprezentować w niniejszym wpisie. Zacznijmy jednak od...

Więcej
content top