Uwaga! Trwają prace nad nową wersją serwisu. Mogą występować przejściowe problemy z jego funkcjonowaniem. Przepraszam za niedogodności!

⛔ Potrzebujesz wsparcia? Oceny CV? A może Code Review? ✅ Dołącz do Discorda!

Kurs programowania obiektowego (OOP) w JS

Podczas tego kursu nauczysz się tworzyć lepsze, łatwiejsze w utrzymaniu i rozszerzaniu projekty. Na konkretnych przykładach poznasz paradygmaty OOP (enkapsulacja, abstrakcja, dziedziczenie, polimorfizm) oraz regułę SOLID, które umożliwiają tworzenie „czystego kodu”. A to wszystko przy wykorzystaniu prototypów – niedocenianych fundamentów OOP w JavaScript!

mateusz bogolubow z logo devmentor

🔥 Zobacz darmowe lekcje! 🔥
Chcesz poznać cały kurs? Nic nie ryzykujesz – masz 30 dni na zwrot.

Czy ten kurs jest dla Ciebie?

Tak, jeśli:

  • jesteś co najmniej na etapie poszukiwania pierwszej pracy w IT (zakładam wówczas, że masz opanowany JavaScript),
  • jesteś już np. po bootcampie czy mentoringu lub po dłuższej samodzielnej nauce (ok. 500 h praktyki),
  • pracujesz jako junior i chcesz wejść na wyższy poziom,
  • chcesz zrozumieć zasady działania OOP w JavaScripcie,
  • chcesz poznać dobre praktyki w programowaniu zorientowanym obiektowo,
  • poszukujesz praktycznych przykładów dla reguł DRY, KISS oraz SOLID,
  • chcesz zrozumieć zależności i konsekwencje podejmowanych decyzji,
  • programujesz obiektowo w innym języku i chcesz zrozumieć, dlaczego w JavaScripcie coś nie działa lub działa inaczej.

Czego się nauczysz i do czego Ci to potrzebne?

Zacznijmy od „po co Ci to?”. Dzięki temu, że poznasz obiekty od podszewki, wdrożysz się w paradygmaty OOP oraz przyswoisz regułę SOLID, będziesz pisać lepszy kod. Czystszy i wydajniejszy! Będzie go też łatwiej reużywać i rozbudowywać w razie rozszerzania projektu.

Oto tematy, które sobie omówimy:

  1. Wprowadzenie do OOP
    Poznasz pierwsze pojęcia z zakresu programowania zorientowanego obiektowo i podstawy implementacji naszego projektu. Przypomnisz sobie także podstawową wiedzę z JavaScriptu.
  2. Proces tworzenia obiektów
    Przedstawię Ci sposoby tworzenia obiektów bez łamania zasady DRY! Dowiesz się, jak wykonywać operacje na już stworzonych elementach i zapisywać je w możliwie najprostszej formie (reguła KISS).
  3. Zarządzanie obiektami
    Każdy obiekt to zestaw właściwości, czyli par klucz-wartość. Przyjrzymy się im bliżej. Dowiesz się, jak operować na tych elementach, i zgłębisz zaawansowane tematy samego JavaScriptu, które poszerzą Twoje możliwości pracy z obiektami.
  4. Prototypy – niedoceniany fundament OOP
    W języku JavaScript obiektowość związana jest z prototypami. Poznasz zasady ich działania oraz sposoby wykorzystania. To będzie też etap pierwszej poważnej refaktoryzacji kodu.
  5. Paradygmaty programowania obiektowego
    Poznasz cztery filary programowania obiektowego. Przyjrzysz się im z bliska w teorii i praktyce oraz poznasz często wykorzystywane schematy, które pozwalają tworzyć lepszy kod.
  6. Odpowiednie podejście do enkapsulacji
    Wdrożysz pierwszy paradygmat przedstawiony w poprzednim module. Kod naszego projektu powinien stać się czytelniejszy i odporniejszy na błędy.
  7. Zrozumienie abstrakcji
    Czas na drugi paradygmat OOP. Razem z nim omówimy też m.in. widoczność (dostępność) właściwości obiektów.
  8. Wykorzystanie pełnej mocy dziedziczenia
    Przy okazji trzeciego paradygmatu przypomnisz sobie działanie słowa kluczowego extends. Dowiesz się również, jak JS różni się od innych języków programowania pod względem dostępności właściwości obiektów.
  9. Zrozumienie wartości polimorfizmu
    Przy pomocy tego i poprzedniego paradygmatu OOP, czyli dziedziczenia oraz polimorfizmu, postarasz się zmniejszyć ilość pisanego kodu i zwiększyć jego elastyczność. Sprawdzisz, jaki to będzie miało wpływ na implementację naszego projektu.
  10. Wyższość kompozycji nad dziedziczeniem
    Wdrożyłeś do projektu dziedziczenie, lecz niestety często jest ono niepotrzebnie nadużywane. Kompozycja, którą poznasz w tym module, może okazać się bardziej niezawodnym rozwiązaniem.
  11. SOLID – zasada jednej odpowiedzialności
    Poznasz i wdrożysz zasadę jednej odpowiedzialności (SRP). Dowiesz się również, w jaki sposób rozwiązuje ona problemy powodowane przez grupowanie odpowiedzialności.
  12. SOLID – zasada otwarte-zamknięte
    Czas na zasadę otwarte-zamknięte (OCP). Dzięki obu poznanym zasadom będziesz pisać jeszcze lepsze projekty.
  13. SOLID – zasada podstawienia Liskov
    Tym razem skupimy się na zasadzie podstawienia Liskov (LSP), poznasz też wartość klasy abstrakcyjnej.
  14. SOLID – zasada segregacji interfejsów
    Poznasz zasadę segregacji interfejsów (ISP) oraz zobaczysz, a jaki sposób wdrożyć ją w naszym projekcie.
  15. SOLID – zasada odwrócania zależności
    Na końcu omówimy zasadę odwrócenia zależności (DIP). Te trzy ostatnie zasady pozwolą Ci wytwarzać oprogramowanie wysokiej jakości.
  16. OOP – podsumowanie
    Przypomnisz sobie wszystkie poznane pojęcia. Razem podsumujemy paradygmaty i zasady, które wykorzystaliśmy w projekcie. Dowiesz się również, co jeszcze możesz ulepszyć w stworzonym rozwiązaniu we własnym zakresie.

Jakie technologie wykorzystasz na kursie?

Będziemy pracować na czystym JavaScripcie. Dzięki temu lepiej zrozumiesz jego ograniczenia oraz to, dlaczego TypeScript z roku na rok jest coraz popularniejszy.

Oczywiście przyda Ci się również wiedza z HTML-a, ponieważ nasz projekt, na którym zgłębimy tajniki OOP, będzie operować na drzewie DOM.

Kurs już dostępny!

Premiera to grudzień 2023, ale planuję uzupełniać kurs o dodatkowe moduły lub aktualizacje na podstawie feedbacku kursantów. Zapraszam do udziału!

Zdobądź kurs OOP

Nie wiesz, czy jesteś gotowy na OOP?

Sprawdź się w bezpłatnym praktycznym 27-dniowym wyzwaniu.

Chętny na bezpłatne materiały z programowania obiektowego?

W takim razie zapraszam Cię do dołączenia na listę mailową – pierwsze bezpłatne materiały otrzymasz już po zapisie, a kolejne jeszcze w listopadzie!

Chcesz ze mną porozmawiać?

Oferuję bezpłatną i niezobowiązującą rozmowę, podczas której:

  • analizujemy Twoje cele i potrzeby
  • omawiamy przeszkody w nauce
  • namierzamy najskuteczniejszą dla Ciebie drogę rozwoju

Chcesz zostać (lepszym) programistą i lepiej zarabiać? 

🚀 Porozmawiajmy o nauce programowania, poszukiwaniu pracy, o rozwoju kariery lub przyszłości branży IT!

Umów się na ✅ bezpłatną i niezobowiązującą rozmowę ze mną.

Chętnie porozmawiam o Twojej przyszłości i pomogę Ci osiągnąć Twoje cele! 🎯