01. 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.
02. 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).
03. 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.
04. 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.
05. 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.
06. 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.
07. Zrozumienie abstrakcji: czas na drugi paradygmat OOP. Razem z nim omówimy też m.in. widoczność (dostępność) właściwości obiektów.
08. 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.
09. 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.