Simple Steps: szkolenia Java, UML i BPMN
"przypomina nieco Sapkowskiego‚ nieco Tolkiena‚ a najbardziej chyba Grę o tron" - szczere-recenzje.pl, "Lektura tej książki wciągnęła mnie bez reszty. Z niecierpliwością czekam na więcej" - Maria Górska, "jeżeli macie ochotę na dobre‚ mocne high fantasy - nie macie wyboru‚ musicie sięgnąć po Wojny Żywiołów" - biblioteczka..., "genialna‚ wciągająca i intrygująca" - Ewelina Kiełbasińska, "Gorąco polecam!" - Addicted to books, "fabuła brzmi po prostu świetnie!" - kasiek-mysli.blogspot.com, "Jest to pozycja obowiązkowa dla każdego fana fantastyki" - moje-ukochane-czytadelka.blogspot.com, "Miałam wrażenie‚ że z każdą kolejną stroną roztacza się przede mną zupełnie inny świat" - biblioteczkaciekawychksiazek, "Zdecydowanie polecam‚ bo jest to kawał dobrze napisanego polskiego high fantasy!" - biblioteczkaciekawychksiazek, "mogę polecić wszystkim fanom tego gatunku" - zapiski-okularnicy.pl, "wciągnie nie tylko fanów fantastyki‚ ale i każdego czytelnika" - subiektywinie.blogspot.com, "Nie spodziewałam się‚ że aż tak mnie wciągnie." - zapiski-okularnicy.pl, "Jest to powieść zdecydowanie warta uwagi." - in-corner-with-book.blogspot.com, "nie mogę się już doczekać‚ kiedy dorwę tom drugi" - biblioteczkaciekawychksiazek.blogspot.com, "Poleciłabym zdecydowanie osobom gustującym w fantastyce" - marzenieliterackie.blogspot.com, "zachwyca także złożoność i różnorodność wątków" - szczere-recenzje.pl, "Nie mogę się doczekać kiedy znów przeniosę się do tego świata" - moje-ukochane-czytadelka.blogspot.com, "Najchętniej od razu sięgnęłabym po kolejną część." - zapiski-okularnicy.pl, "nie spodziewałam się tego po fantasy" - Ewelina Kiełbasińska, "książkę gorąco wam polecam!" - kasiek-mysli.blogspot.com, "autor cały czas utrzymywał mnie w napięciu i ciekawości" - moje-ukochane-czytadelka.blogspot.com, "książkę mogę z czystym sumieniem polecić wszystkim fanom gatunku" - Globster na lubimyczytac.pl, "to książka‚ która pobudziła moją wyobraźnię i ciekawość." - zapiski-okularnicy.pl, "Nie ma tu miejsca na nudę" - in-corner-with-book.blogspot.com

Szkolenia Java, UML i BPMN: Wzorce i refaktoryzacja


Wzorce i refaktoryzacja

Wzorce projektowe w kodzie i refaktoryzacji

Kod szkolenia: JAVA-REF

Adresaci szkolenia

Szkolenie powstało z myślą o programistach Java, którzy chcieliby zapoznać się z wzorcami projektowymi od strony projektowania, programowania i refaktoryzacji. Dlatego jest idealnym wyborem dla programistów chcących czy to tworzyć znacznie lepszej jakości kod i rozwiązania, czy to wykonać pierwsze kroki w zakresie projektowania, aby od razu wprowadzać do kodu przemyślane rozwiązania.

Cele szkolenia

Celem szkolenia jest nabycie umiejętności poprawnego stosowania wzorców. W trakcie zajęć uczymy się właściwej identyfikacji wymaganego wzorca, zaadaptowania go do specyfiki problemu (podstawy projektowania w UML) oraz wprowadzenia rozwiązania do kodu (z generowaniem kodu na podstawie UML włącznie).
Drugim wymiarem szkolenia jest wykrywanie złych rozwiązań i ich refaktoryzacja z użyciem poznanych wzorców. Tu przydatna okazuje się znajomość poprawnych zasad projektowania oraz antywzorców, z którymi zapoznajemy się, aby łatwiej zidentyfikować problemy w istniejącym kodzie.
Podczas szkolenia duży nacisk kładzie się na poprawne stosowanie wzorców, dlatego przedstawiane są podstawy projektowania, z uwzględnieniem, że grupą docelową są programiści. Pozwala to zawczasu wykryć niejasności i wprowadzić do kodu już przemyślane rozwiązania (a nawet wygenerować dla nich kod).

Czas trwania szkolenia

4 dni, po 8 godzin. Łącznie 32 godzin(y) szkolenia.

Oczekiwane przygotowanie słuchaczy przed szkoleniem

Od uczestników wymaga się umiejętności programowania w języku Java.

Polecane szkolenia uzupełniające

Powiązane szkolenia: Projektowanie systemów w notacji UML (UML-PR), Modelowanie z użyciem wzorców projektowych GOF i Core J2EE (JAVA-WZO).

Program szkolenia

  1. Podstawy projektowania w UML
    • Czym jest, a czym nie jest UML
    • Mechanizmy rozszerzania UML
    • Diagramy klas
      1. Elementy diagramów klas
      2. Identyfikacja klas – metoda rzeczownikowa
    • Diagram sekwencji
      1. Elementy diagramów sekwencji
      2. Poprawne tworzenie projektowych diagramów sekwencji
  2. Podstawy projektowania obiektowego i wprowadzenie do wzorców
    • Enkapsulacja
    • High Cohension
    • Loose Coupling
    • Command-Query Separation
    • Java i dziedziczenie
    • Wprowadzenie do wzorców
    • Rodzaje wzorców
    • GRASP (General Responsibility Assignment Software Patterns)
      1. Information Expert
      2. Creator
      3. Controller
      4. Polymorphism
      5. Pure Fabrication
      6. Indirection
      7. Protected Variations
    • S.O.L.I.D (SOLID-ne programowanie)
      1. Single Responsibility Principle
      2. Open-Close Principle
      3. Liskov Substitution Principle
      4. Interface Segregation Principle
      5. Dependency Inversion Principle
  3. Wzorce GOF
    • Wzorce konstrukcyjne
      1. Abstract Factory
      2. Builder
      3. Factory Method
      4. Prototype
      5. Singleton
    • Wzorce strukturalne
      1. Adapter
      2. Bridge
      3. Composite
      4. Decorator
      5. Façade
      6. Flyweight
      7. Proxy
    • Wzorce behawioralne
      1. Chain of responsibility
      2. Command
      3. Interpreter
      4. Iterator
      5. Mediator
      6. Memento
      7. Observer
      8. State
      9. Strategy
      10. Template Method
      11. Visitor
  4. Przegląd wybranych antywzorców
    • Golden Hammer
    • Lava Flow
    • Spaghetti Code
    • Busy Waiting
    • Hardcoding
    • Object Orgy
    • Circilar Dependency
    • The Blob (God Object)
  5. Refaktoryzacja z użyciem wzorców
    • Czym jest refaktoryzacja
    • Kiedy refaktoryzować? (code smell)
    • Przegląd wybranych symptomów złego kodu
      1. Lazy class
      2. Large class
      3. Large method
      4. Duplicated code
      5. Feature envy
      6. Inappropriate intimacy
      7. Refused bequest
      8. Contrivied Complexity
      9. Excessive use of literals
      10. Cyclomatic complexity
      11. Downcasting
      12. Orphan variable or constant class
      13. Too many parameters
      14. Excessively long identifiers
      15. Excessively short identifiers
      16. Excessive return of data
    • Poprawność refaktoryzacji – testy jednostkowe
    • Wsparcie narzędzi w refaktoryzacji
    • Techniki refaktoryzacji z użyciem wzorców
      1. Chain constructors
      2. Replace Constructors with Creation Methods
      3. Move Creation Knowdlego to Factory
      4. Encapsulate Classes with Factory
      5. Introduce Polymorphic Creation With Factory Method
      6. Encapsulate Composite With Builder
      7. Inline Singleton
      8. Limit Instantiation with Singleton
      9. Compose Method
      10. Move Embellishment to Deorator
      11. Replace Conditional Logic with Strategy
      12. Replace Type Code with Class
      13. Replace State-Altering Conditionals with State
      14. Replace Conditional Dispatcher with Command
      15. Replace One/Many Distinctions with Composite
      16. Extract Composite
      17. Replace Implicit Tree with Composite
      18. Extract Parameter
      19. Replace Hard-Coded Notifications with Observer
      20. Form Template Method
      21. Introduce Null Object
      22. Move Accumulation to Visitor
      23. Move Accumulation to Collecting Parameter
      24. Unify Interfaces
      25. Unify Interfaces with Adapter
      26. Extract Adapter

simple-steps.pl, simplesteps.pl są własnością SIMPLE Podbielski Michał