Decorator i Proxy to dwa wzorce strukturalne które działają podobnie – oba opakowują obiekt i implementują ten sam interfejs. Różni je intencja: Decorator dodaje nową funkcjonalność, Proxy kontroluje dostęp do obiektu. Subtelna różnica, ale fundamentalna dla prawidłowego zastosowania.

(więcej…)

Singleton i Builder to dwa bardzo różne wzorce kreacyjne. Singleton jest jednym z najkrótszych wzorców GoF i jednym z najczęściej nadużywanych. Builder rozwiązuje zupełnie inny problem – budowanie złożonych obiektów krok po kroku, gdy konstruktor z dziesiątkami parametrów staje się nieczytelny. Pokazuję oba z przykładami i bez owijania w bawełnę mówię kiedy Singleton to zły pomysł.

(więcej…)

Factory Method i Abstract Factory to dwa najczęściej mylone wzorce kreacyjne. Oba dotyczą tworzenia obiektów, ale rozwiązują różne problemy. Factory Method pyta „który podtyp obiektu stworzyć”. Abstract Factory pyta „jaką rodzinę powiązanych obiektów stworzyć”. Pokazuję oba od zera w PHP z przykładami które ilustrują różnicę.

(więcej…)

Wzorce projektowe to sprawdzone rozwiązania często powtarzających się problemów w projektowaniu oprogramowania. Nie są to gotowe biblioteki ani fragmenty kodu do skopiowania – to szablony myślenia, które pomagają projektować elastyczny, testowalny i czytelny kod. W tej serii omówię najważniejsze wzorce z katalogu Gang of Four z przykładami w czystym PHP.

(więcej…)

GÓRA