Niezależnie od języka programowania w jakich pracujesz, jeśli chcesz osiągnąć najwyższy poziom programowania, po prostu MUSISZ opanować wzorce projektowe.
Większość pracodawców poszukuje inżynierów oprogramowania posiadających umiejętności projektowania wzorców i są gotowi zapłacić dodatkowe pieniądze, aby ich zatrudnić.
Wzorce projektowe służą do projektowania zorientowanego obiektowo oprogramowania, które można w prosty sposób rozszerzać i jest łatwe do utrzymania.
Można je stosować w dowolnym języku programowania, po to aby rozwiązać powszechne problemu związane z projektowaniem i implementacją aplikacji.
Te umiejętności, nauczysz się na tym kursie, z przykładami z realnych problemów różnego rodzaju aplikacji.
Pod koniec tego kursu będziesz umiał:
wskazać problemy z trudnym utrzymaniem i rozszerzalności w swoim kodzie
pisać rozszerzalny kod
odpowiedzieć na pytania rekrutacyjne odnośnie wzorców projektowych
będziesz lepszym programistą !
Kurs pokrywa:
- filary programowania obiektowego: abstrakcja, enkapsulacja, dziedziczenie, polimorfizm
- diagramy klas w języku UML
Zasady SOLID:
Single-responsibility principle: Zasada pojedyńczej odpowiedzialności
Open–closed principle: Zasada otwartego-zamkniętego
Liskov substitution principle: Zasada podstawienia Liskov
Interface segregation principle: Zasada segregacji interfaceów
Dependency inversion principle: Zasada odwrócenia zależności
Wzorce projektowe kreacyjne (służące do tworzenia w prosty i reużywalny sposób obiekty):
Budowniczy (Builder)
Fabryka (Factory)
Fabryka abstrakcyjna (Abstract Factory)
Prototyp
Singleton
Wzorce projektowe behawioralne (definiujące zachowanie w jaki sposób możemy korzystać z obiektów / funkcjonalności):
Strategia (Strategy)
Obserwator (Observer)
Stan (State)
Metoda szablonowa (Template method)
Łańcuch zobowiązań (Chain of responsibilty)
Wzorce projektowe strukturalne (ułatwiające implementacje złożonych struktur klas i relacji między nimi):
Adapter
Dekorator
Fasada
Proxy
Znając te najpopularniejsze wzorce projektowe, bez problemu odnajdziesz i zrozumiesz ich implementacje w projektach, w których będziesz uczestniczyć