DevCezz

Programistyczny blog dla Ciebie

Wzorce

Przemyślenia na temat stosowania wzorca fasady

Wzorce projektowe są rozwiązaniem problemów, które napotykali programiści przez kilkadziesiąt lat istnienia branży IT. Warto się z nimi zapoznać, aby mieć wspólną podstawę do rozmów z kolegami po fachu. Pierwszym krokiem wtajemniczenia do ich poznania według modelu braci Dreyfus jest…

Prawo Demeter – jak uchronić kod przed katastrofą

Zdarzyło Ci się spotkać albo, co gorsza, samemu napisać kod o następującej strukturze bank.getAccountingDepartment().getAccountingTeam().getAccountant().process(invoice)? Ewidentnie jest z nim coś nie tak. Nie dość, że grzebie on w wewnętrznej implementacji wielu klas to jeszcze ma potencjalnie aż 3 miejsca na rzucenie…

GRASP – garść zasad wytwarzania oprogramowania

W świecie programistycznym istnieje wiele wskazówek jak tworzyć dobre oprogramowanie. Jedną z nich jest znany (i zapewne lubiany) mnemonik SOLID, o którym powstało wiele artykułów. Opisuje on podstawowe zasady jakich powinno się przestrzegać podczas programowania. Jeśli, więc oprze się swój…

Dependency Injection

Podczas wieczornej przebieżki myślałem o tym jak ugryźć temat opisania Dependency Injection (DI). Nagle usłyszałem to zdanie, które chyba każdy z nas krzyczał będąc dzieckiem. “Mamo, rzuć picie!” 😂 I wtedy wyobraziłem sobie sytuację, w której to młody adept sztuki…

Inversion of Control

Pewien aspirujący aktor dostał się na przesłuchanie do wielkiej sztuki. Jest podekscytowany, że może wziąć w nim udział. Przygotowywał się do tej chwili przez całe życie. Pomyślał: “Mój amerykański sen w końcu się ziści!”. 🌟 Ubrał się w najlepszą koszulę,…

SOLID – Dependency inversion principle

Ostatnią zasadą mnemoniku SOLID jest Odwrócenie Zależności. Polega ona na tym, żeby nie uzależniać modułów wysokiego poziomu od modułów niskiego poziomu. Należy wstawić pomiędzy nie abstrakcję, która nie może zależeć od detali, ale to detale powinny zależeć od niej. Prościej…

SOLID – Interface segregation principle

Przedostatnia zasada mnemoniku SOLID. Według tej wytycznej interfejsy należy odpowiednio segregować. Nie jest zalecane tworzenie interfejsu “od wszystkiego”. Powinno się je konstruować w taki sposób, aby miały tylko jedną odpowiedzialność (Single Responsible Principle). Klas implementujących dany interfejs nie należy zmuszać…

SOLID – Liskov substitution principle

Trzecia już zasada mnemoniku SOLID. Nazwa tej reguły pochodzi od nazwiska twórczyni, czyli Barbary Liskov. Według niej w miejscu, gdzie wykorzystywana jest klasa bazowa bez problemu można użyć klas pochodnych, które mogą rozszerzać bazowe funkcjonalności, ale zmiany w nich zawarte…

SOLID – Open/closed principle

Druga zasada mnemoniku SOLID. Praktyka mówiąca, że klasy powinny być otwarte na rozszerzenia, ale zamknięte na modyfikacje. Opracował ją Bertrand Meyer w 1988 r. Według niej dana encja powinna mieć możliwość zmiany swojego zachowania bez ingerowania w kod źródłowy. W…

SOLID – Single responsible principle

Pierwsza zasada mnemoniku SOLID. Zgodnie z tą praktyką klasa powinna mieć tylko jedną odpowiedzialność. Musi istnieć jeden powód do jej zmiany. Dzięki temu łatwiej jest nam zrozumieć cel danej klasy, czyli jakie jest jej główne zadanie. Właśnie takie słowa wypowiedział…