Ta lekcja jest w bazie eduweb

Zaloguj się kontem z dostępem albo wykup dostęp do bazy, żeby obejrzeć wideo.

Lekcja 61/ 72DIP - Refactoring

0:00 / 0:00
Full-stack i ProgramowanieTworzenie kodu według najlepszych praktyk

Zasady SOLID na Backendzie: DIP - Refactoring

2 godz. 45 min wideo72 lekcje17 modułów

Czego się nauczysz

  • Teoretyczne wyjaśnienie każdej z 5 zasad SOLID
  • Przykłady zastosowania SOLID w kodzie Ruby i Typescript
  • Zadania teoretyczne polegające na zaprojektowaniu kodu zgodnie z SOLID
  • Praktyka i refaktoring kodu legacy w kierunku zasad SOLID
  • Przykłady testowania kodu implementującego zasady SOLID

Zasady SOLID na Backendzie - Tworzenie kodu według najlepszych praktyk

Zastanawiasz się, jak zbudować backend, który nie rozleci się po pierwszej lepszej zmianie? Chcesz pisać kod, który przetrwa więcej niż jedną modę w świecie IT? A może po prostu lubisz, gdy wszystko jest poukładane jak słoiki z dżemem malinowym w babcinej spiżarni?

Jeśli na którekolwiek z tych pytań odpowiedziałeś "tak", to jesteś w dobrym miejscu!

Kurs "SOLID na backendzie" pokaże Ci, jak zastosować zasady SOLID w prawdziwym, backendowym świecie. Tutaj wszystko ma swoje praktyczne zastosowanie.

Co tutaj znajdziesz?

- S jak Superman - Nauczysz się, jak tworzyć elastyczny kod dzięki Single Responsibility Principle. Jeden bohater - jedna odpowiedzialność!

- O jak Origami - Opanujesz sztukę składania kodu w eleganckie struktury dzięki Open/Closed Principle.

- L jak Lego - Zobaczysz, jak łatwo można zastępować jedne klocki innymi stosując Liskov Substitution Principle.

- I jak Iluzjonista - Interface Segregation Principle pomoże Ci utrzymać magię Twojego kodu w porządku i estetyce.

- D jak Detektyw - Nauczysz się łączyć zależności jak Sherlock Holmes dzięki Dependency Inversion Principle.

Tylko solidne fundamenty pozwalają zbudować trwałe i skalowalne aplikacje. Takimi fundamentami są zasady SOLID

Teoretyczne podstawy

Nie zrozumiesz SOLIDa bez teoretycznych podstaw. Przejdziemy przez założenia stojące za każdą z nich. Przeanalizujemy problemy, które możesz spotkać oraz dowiesz się dlaczego ciągle jeszcze tak wielu programistów nie stosuje się do tych zasad.

Przykłady zastosowania SOLID w kodzie Ruby i Typescript

Ruby i Typescript to technologie, które świetnie odzwierciedlają uniwersalizm SOLIDa. Te złote zasady działają w językach dynamicznie typowanych i interpretowanych jak Ruby oraz przy statycznym typowaniu na przykładzie Typescript.

Projektowanie kodu zgodnie z SOLID

Zanim zabierzesz się za programowanie warto poćwiczyć SOLIDny sposób myślenia. Zmierzysz się z zadaniami, w ramach których będziesz projektować kod tak, aby wszystkie zasady SOLID znalazły w nim swoje zastosowanie.

Praktyka i refaktoring w kierunku SOLID

Prawda jest taka, że kod, z którym w większości pracujemy ma swoją historię. Czasami historia ta jest tak bolesna, że klasy i metody są zagmatwane, poplątane i trudne w utrzymaniu. Gdy dotrzesz do tego miejsca będziesz mieć w arsenale wszystkie potrzebne narzędzia, żeby zmierzyć się z zadaniami praktycznymi, które przekształcą kod legacy w SOLIDne arcydzieło.

Testy, testy, testy

Tak ważny temat, jak testowanie nie może zostać pominięty. Między innymi po to też stosujemy zasady SOLID, żeby nasz kod praktycznie sam się testował. Napiszesz więc testy, których wzorce możesz wykorzystać w dowolnym projekcie, dowolnej technologii, jeśli tylko kod, który testujesz będzie spełniał wymagania zasad SOLID.

Dla kogo jest ten kurs?

Nie ma znaczenia, czy dopiero zaczynasz przygodę z programowaniem, czy też jesteś starym wyjadaczem, który klasami i interfejsami myśli przy zagryzaniu tosta na śniadanie. Ten kurs jest właśnie dla Ciebie. Technologia ani język programowania też nie mają znaczenia. Zasady SOLID to uniwersalny zbiór. Ich znajomość sprawi, że Twój kod będzie lepszy, łatwiejszy w utrzymaniu i odporny na perturbacje i zmiany.

Kurs Zasady SOLID na Backendzie

17 rozdziałów72 lekcje2h 45min

Wprowadzenie

7min
  • Dla kogo jest ten kurs2min(zablokowana)
  • Kontekst technologiczny2min(zablokowana)
  • Rozkład jazdy3min(zablokowana)

Wprowadzenie do zasad SOLID

12min
  • Wprowadzenie do zasad SOLID7min(zablokowana)
  • Dlaczego SOLID na backendzie jest taki ważny3min(zablokowana)
  • Backend jako strażnik biznesu2min(zablokowana)

Problemy w używaniu zasad SOLID

8min
  • Ignorancja4min(zablokowana)
  • Każdy słyszał, nie każdy zna, jeszcze mniej stosuje4min(zablokowana)

Dlaczego SOLID?

11min
  • Przyjemniejsze legacy2min(zablokowana)
  • Lepsza testowalność2min(zablokowana)
  • Reużywalność kodu2min(zablokowana)
  • Uniwersalne zasady rozumiane przez wszystkich programistów2min(zablokowana)
  • SOLID a języki statycznie typowane2min(zablokowana)
  • SOLID a języki dynamicznie typowane2min(zablokowana)

Teoria - SRP

15min
  • SRP - Single Responsibility Principle3min(zablokowana)
  • SRP - Przykłady kodu5min(zablokowana)
  • SRP - Wskazówki3min(zablokowana)
  • SRP - Zadanie teoretyczne1min(zablokowana)
  • Rozwiązanie zadania teoretycznego SRP2min(zablokowana)

Teoria OCP

12min
  • OCP - Open Closed Principle2min(zablokowana)
  • OCP - Przykłady kodu5min(zablokowana)
  • OCP - Wskazówki3min(zablokowana)
  • OCP - Zadanie teoretyczne1min(zablokowana)
  • Rozwiązanie zadania teoretycznego OCP2min(zablokowana)

Teoria LSP

15min
  • LSP - Liskov Substitution Principle3min(zablokowana)
  • LSP - Przykłady kodu6min(zablokowana)
  • LSP - Wskazówki2min(zablokowana)
  • LSP - Zadanie teoretyczne1min(zablokowana)
  • Rozwiązanie zadania teoretycznego LSP2min(zablokowana)

Teoria ISP

16min
  • ISP - Interface Segregation Principle2min(zablokowana)
  • ISP - Przykłady kodu7min(zablokowana)
  • ISP - Wskazówki2min(zablokowana)
  • ISP - Zadanie teoretyczne1min(zablokowana)
  • Rozwiązanie zadania teoretycznego ISP3min(zablokowana)

Teoria DIP

12min
  • DIP - Dependency Inversion Principle3min(zablokowana)
  • DIP - Przykłady kodu5min(zablokowana)
  • DIP - Wskazówki1min(zablokowana)
  • DIP - Zadanie teoretyczne1min(zablokowana)
  • Rozwiązanie zadania teoretycznego DIP2min(zablokowana)

Praktyka SRP

9min
  • SRP - Praktyczny przykład1min(zablokowana)
  • SRP - Refactoring4min(zablokowana)
  • SRP - Testowanie3min(zablokowana)
  • Zadania praktyczne SRP1min(zablokowana)
  • Rozwiązanie zadania praktycznego SRP1min(zablokowana)

Praktyka OCP

6min
  • OCP - Praktyczny przykład1min(zablokowana)
  • OCP - Refactoring2min(zablokowana)
  • OCP - Testowanie2min(zablokowana)
  • Zadanie praktyczne OCP1min(zablokowana)
  • Rozwiązanie zadania praktycznego OCP1min(zablokowana)

Praktyka LSP

6min
  • LSP - Praktyczny przykład1min(zablokowana)
  • LSP - Refactoring2min(zablokowana)
  • LSP - Testowanie2min(zablokowana)
  • Zadania praktyczne LSP1min(zablokowana)
  • Rozwiązanie zadania praktycznego LSP1min(zablokowana)

Praktyka ISP

5min
  • ISP - Praktyczny przykład1min(zablokowana)
  • ISP - Refactoring2min(zablokowana)
  • ISP - Testowanie1min(zablokowana)
  • Zadanie praktyczne ISP1min(zablokowana)
  • Rozwiązanie zadania praktycznego ISP1min(zablokowana)

Praktyka DIP

4min
  • DIP - Praktyczny przykład1min(zablokowana)
  • DIP - Refactoring1min(zablokowana)
  • DIP - Testowanie1min(zablokowana)
  • Zadanie praktyczne DIP1min(zablokowana)
  • Rozwiązanie zadania praktycznego DIP1min(zablokowana)

Najczęstsze błędy

14min
  • Błędy w kontekście SOLID7min(zablokowana)
  • Identyfikacja popularnych błędów5min(zablokowana)
  • Wpływ na kod i wydajność2min(zablokowana)

Antywzorce i jak ich unikać

10min
  • Problemy związane z antywzorcami4min(zablokowana)
  • Przykłady śmierdzącego kodu3min(zablokowana)
  • Jak unikać problemów3min(zablokowana)

Podsumowanie

4min
  • Co dalej2min(zablokowana)
  • Źródła pomocnicze2min(zablokowana)

Ten kurs jest w bazie eduweb

Dostęp do wszystkich kursów z bazy eduweb za 199 zł/mies.

Wykup dostęp do bazy

Autor kursu

Średnia ocen autora: 4,2

Bio

Czołem! Tu Rafał! Uproszczę temat i powiem Ci, że jestem programistą. Chociaż sam bym się bardziej określił jako twórcę. Przeszedłem dość zawiłe ścieżki kariery i zasmakowałem wielu środowisk i metodologii pracy: od korporacji, przez startupy, firmy produktowe, prowadzenie własnego software house'u, prowadzenie szkoleń i tworzenie kontentu. Obecnie jestem zaangażowany w kilka projektów, nie tylko z zakresu IT. Większość moich zadań polega na wytwarzaniu. Wytwarzam kod, piszę teksty, przygotowuję wystąpienia na konferencje, materiały edukacyjne, ebooki. Nie było by to możliwe, gdyby nie armia aplikacji i narzędzi, które składają się na mój system organizacji wiedzy. W pewnym momencie moją obsesją stało się skuteczne notowanie, a więc takie prowadzenie notatek, aby były szybko dostępne i pozwalały w kilka chwil wytworzyć treści dające wartość. Zbudowanie takiego systemu zajęło mi masę czasu. Dziś ten system przekazuję też Tobie, aby wynieść Cię na kolejny poziom produktywności i kreatywności.

W sieci znajdziesz mnie na moim blogu: https://grubykodzi.pl. Na Instagramie jako @rafalpiekara.