Wzorce projektowe i refaktoryzacja w języku Java

LICZBA DNI: 4 (32h)

KOD KURSU: REFAKT/JAV

POZIOM SZKOLENIA:

# java

Najbliższy termin:

24 maja 2021

3550 PLN netto + 23% VAT

Jeszcze 8 miejsc w tej cenie.

  • stacjonarne

STACJONARNE

W CENIE

  • 4 dni pracy z trenerem
  • Materiały szkoleniowe
  • Lunch
  • Certyfikat ukończenia szkolenia

Czy wiesz, że możesz uzyskać nawet do 100% DOFINANSOWANIA na szkolenie? Napisz do nas »

Oferta dla firm

Dostosuj zakres, czas i miejsce szkolenia do potrzeb Twojego zespołu. Uzyskaj indywidualną wycenę szkolenia dla grupy.

Weź udział w szkoleniu

Termin

Lokalizacja

Cena / os

24

maja

Warszawa,

3550 PLN netto
+ 23% VAT

Termin

24

maja

Lokalizacja

Warszawa,

Cena / os

3550 PLNnetto
+ 23% VAT

Powiadom
o kolejnych terminach

O szkoleniu

DLA KOGO?

Programiści Java, chcący poznać wzorce projektowe i prawidłowo stosować je przy refaktoryzacji oraz tworzeniu nowych rozwiązań

WYMAGANIA

Umiejętność programowania w języku Java

ZALETY

Poprawne techniki refaktoryzacji do wzorców z użyciem narzędzi na gotowym i generowanym kodzie

Połączenie siły IDE z narzędziem do modelowania UML

Cele szkolenia

Zdobycie umiejętności poprawnego stosowania wzorców projektowych począwszy od właściwej identyfikacji wymaganego wzorca, poprzez adaptację do specyfiki problemu (podstawy projektowania w UML), a na kodowaniu rozwiązania kończąc

Wykrywanie złych rozwiązań i ich refaktoryzacja z użyciem poznanych wzorców

Duży nacisk na poprawne stosowanie wzorców (przedstawiane są podstawy projektowania, mimo że grupą docelową są programiści)

Wprowadzanie przemyślanych rozwiązań, oraz generowanie dla nich kodu na podstawie diagramów klas

Program

  • Wprowadzenie do UML
  • Diagram klas
  • Diagram sekwencji
  • Modelowanie w omówionych diagramach
  • Enkapsulacja
  • High Cohension
  • Loose Coupling
  • Command-Query Separation
  • Problemy z dziedziczeniem w Javie
  • Wprowadzenie do wzorców
  • Różne rodzaje wzorców
  • GRASP (General Responsibility Assignment Software Patterns)
  • S.O.L.I.D (SOLID-ne programowanie)
  • Konstrukcyjne: Abstract Factory, Builder, Factory Method, Prototype, Singleton
  • Strukturalne: Adapter, Bridge, Composite, Decorator, Façade, Flyweight, Proxy
  • Behawioralne: Chain of responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor
  • Busy Waiting
  • Circular Dependency
  • Golden Hammer
  • Hardcoding
  • Lava Flow
  • Object Orgy
  • Spaghetti Code
  • The Blob (God Object)
  • Czym jest refaktoryzacja
  • Kiedy warto refaktoryzować? (code smells)
  • Wybrane symptomy złego kodu: Contrivied Complexity, Cyclomatic complexity, Duplicated code
  • Excessive return of dataFeature envy, Excessive use of literals
  • Excessively long identifiers, Excessively short identifiers
  • Inappropriate intimacy, Large class, Large method, Lazy class
  • Orphan variable or constant class, Refused bequest, Too many parameters
  • Refaktoryzacja a testy jednostkowe
  • Wsparcie narzędzi przy refaktoryzacji
  • Techniki refaktoryzacji z użyciem wzorców
  • Compose Method, Chain Constructors, Encapsulate Classes with Factory
  • Encapsulate Composite With Builder, Extract Adapter, Extract Composite
  • Extract Parameter, Form Template Method, Inline Singleton
  • Introduce Null Object, Introduce Polymorphic Creation With Factory Method
  • Limit Instantiation with Singleton, Move Accumulation to Collecting Parameter
  • Move Accumulation to Visitor, Move Creation Knowledge to Factory
  • Move Embellishment to Deorator, Replace Conditional Dispatcher with Command
  • Replace Conditional Logic with Strategy, Replace Constructors with Creation Methods
  • Replace Hard-Coded Notifications with Observer, Replace Implicit Tree with Composite
  • Replace One/Many Distinctions with Composite
  • Replace State-Altering Conditionals with State, Replace Type Code with Class
  • Unify Interfaces, Unify Interfaces with Adapter
  • Tworzenie obiektów na podstawie nazwy klasy
  • Refleksja
  • Invokedynamic
  • Dynamiczne proxy

Autor szkolenia:

Michał Podbielski

Pierwsze kroki w programowaniu stawiał w podstawówce, jeszcze na ZX-Spectrum w języku BASIC, gdzie załapał bakcyla. Od tego momentu podporządkował IT całe swoje życie. Profil informatyczny w szkole średniej, na studiach dyplom z zakresu Inżynierii Oprogramowania zdobyty z oceną celującą i wyróżnieniem. Zawodowo zaczynał od budowy sieci Internetowych, potem rozwijał oprogramowanie w korporacji Siemens. Obecnie sprzedaje własne oprogramowanie, szkoli, zajmuje się konsultingiem i pisze książki fantasy.

POLITYKA COOKIES:

Korzystamy z plików cookies, by móc jak najlepiej dostosować stronę do Twoich potrzeb oraz wyświetlać Ci przydatne i adekwatnych dla Ciebie reklamy w serwisie i poza nim. Możesz kontrolować ustawienia ciasteczek w swoich ustawieniach swojej przeglądarki. Odwiedzając tę stronę, wyrażasz zgodę na wykorzystywanie przez nas plików cookies.