Strategia

W projektowaniu oprogramowania często spotykamy się z sytuacjami, w których różne części systemu wymagają różnych algorytmów. W takich przypadkach istotne jest, aby umożliwić elastyczne przełączanie pomiędzy różnymi strategiami bez konieczności modyfikacji istniejącego kodu. Wzorzec Strategia pozwala na odseparowanie algorytmów od reszty programu, co ułatwia zarządzanie nimi i wspiera zasadę otwarte/zamknięte (Open/Closed Principle) z SOLID. Rys. […]

Strategia Read More »

Fabryka

W projektowaniu oprogramowania często zetknięci jesteśmy z koniecznością tworzenia obiektów różnych klas, które implementują tę samą interfejs lub dziedziczą po wspólnej klasie bazowej. W tym kontekście wzorzec Fabryka staje się niezwykle przydatny. Jego głównym celem jest dostarczenie jednego interfejsu do tworzenia obiektów, nie specyfikując dokładnie ich klas. W ten sposób, programista może zmieniać typ tworzonego

Fabryka Read More »

Builder

Wzorzec budowniczy (ang. builder) należy do grupy wzorców konstrukcyjnych. Używa się go do hermetyzowania tworzenia produktu oraz w celu umożliwienia jego wieloetapowego inicjowania. Jego diagram klas prezentuje się następująco: Rys. 1 Diagram UML klas wzorca budowniczy Abstrakcyjna klasa Builder odpowiedzialna jest za dostarczenie interfejsu wymaganego do poprawnego utworzenia obiektu klasy Product. Klasa (lub klasy) ConcreteBuilder

Builder Read More »

Dependency Inversion Principle

DIP mówi o tym, że moduły wysokopoziomowe nie powinny być zależne od modułów niskopoziomowych, ich zależności powinny wynikać z abstrakcji (stosowanie interfejsów i klas abstrakcyjnych). Ponadto abstrakcje nie powinny zależeć od szczegółów tylko odwrotnie, szczegóły powinny zależeć od abstrakcji. Mamy klasę Manager, która jest klasą na wysokim poziomie, oraz klasę niskiego poziomu zwaną Sms. I

Dependency Inversion Principle Read More »

Interface Segregation Principle 

Teraz omówimy zasadę segregacji interfejsów jest to czwarta zasada SOLID, która opisuje, jak powinniśmy projektować i używać interfejsy w naszych aplikacjach. Zasada ta stanowi, że klienci (klasy) nie powinni być zmuszani do polegania na metodach, których nie używają. Kilka dedykowanych interfejsów jest lepsze niż jeden, który jest zbyt ogólny. Następstwem tego jest to, że powinniśmy

Interface Segregation Principle  Read More »

Liskov Substitution Principle 

Teraz porozmawiamy o zasadzie podstawiania Liskov. Zasada podstawiania Liskov lub LSP, to trzecia z zasad SOLID która mówi, że: Funkcje, które używają wskaźników lub referencji do klas bazowych,muszą być w stanie używać również obiektów klas dziedziczącychpo klasach bazowych, bez dokładnej znajomości tych obiektów. W miejsce typu bazowego możesz podstawić dowolny typ klasy pochodnej i nie powinieneś

Liskov Substitution Principle  Read More »

Open/Closed Principle

OCP mówi o tym, że klasy, moduły bądź funkcje powinny być otwarte na rozbudowę, rozszerzanie, a zamknięte na modyfikacje. Zasada ta wymusza stosowanie abstrakcji, ponieważ w programie powinna być wydzielona część wspólna i specyficzna. Część wspólna powinna być zamknięta w interfejsie lub klasie abstrakcyjnej, zaś część specyficzna powinna znajdować się w konkretnej klasie, która implementuje

Open/Closed Principle Read More »

Single Responsibility Principle

SRP mówi o tym, że dana klasa powinna zajmować się jedną funkcjonalnością. Nie oznacza to, że może posiadać tylko jedną metodę, może mieć więcej metod, ale takich które są związane z daną funkcjonalnością. Za przykład posłuży program do przeliczania stopni Celsjusza na Fahrenheita i odwrotnie. Zły kod przedstawia klasę Assistant, która posiada jedną metodę, która

Single Responsibility Principle Read More »

php, elephant, blue elephant-2066704.jpg

Stałe w PHP

Zmienne to z pewnością ważny element programowania. A czym one są? Prosto mówiąc, są to takie miejsca na przechowywanie danych o przypisanych nazwach. Dzięki temu w dowolnym momencie (no prawie, temat zasięgów omówimy sobie później) możemy się do nich odwołać i odczytać lub zmienić ich wartość. Zmienne w PHP rozpoczynają się od znaku dolara $. Następnie

Stałe w PHP Read More »

file, format, type-7084007.jpg

Co to jest ES6?

ECMAScript jest to ustandaryzowany przez organizacje ECMA skryptowy język programowania, którego implementacje znajdziemy m.in. w JavaScript. ES6 (oficjalne nazewnictwo wersji – ECMAScript2015) wprowadza wiele zmian, które pozwalają czynić kod jeszcze bardziej wydajnym, czytelniejszym i prostszym w użyciu. Dzięki maksymalnej zgodności z obecnie pisanym kodem nie musimy martwić się o problemy w naszych aplikacjach. Przyjrzyjmy się najciekawszym usprawnieniom oraz funkcjom w ES6 i porównajmy je

Co to jest ES6? Read More »