際際滷

際際滷Share a Scribd company logo
Robotlegs AS3
lightweight framework
       (1100 linii kodu)
Czym jest framework

 Generalnie jakikolwiek zbi坦r klas lub bibliotek wielokrotnego
  u甜ytku, Flex, jQuery, RoR...

Robotlegs  KOMUNIKACJA I WSPPRACA
 Robotlegs koncentruje si na uatwieniu komunikacji i
  wsp坦pracy pomidzy poszczeg坦lnymi czciami aplikacji
 jednokierunkowa komunikacja  obiekt posiada referencj do
  innego i wywouje publiczne metody (API)
 Komunikacja poprzez wydarzenia i przekazywanie wiadomoci
Charakterystyczne cechy
 mikroarchitektura
 Czysty AS3
 Zniechca do uzywania Singleton i wszystkiego co
  statyczne(sprzyja TDD oraz debugowaniu)
 Zapomnij o bbelkowaniu
 U甜ywa metadanych do dependency injection, przez co
  uwalnia nas od tworzenia zbdnych zale甜noci
 Promuje lu添ne wizanie
 Preferuje kompozycj, nie dziedziczenie (czyli skadanie
  waciwoci obiektu z maych klas funkcyjnych )
MVCS
 Model  przetrzymuje wiedz i manipuluje stanami
  aplikacji
 View  to wszystko to, co widzisz i syszysz
 Controller  tumaczy akcje u甜ytkownika na jzyk
  stan坦w aplikacji, nie odpowiada czy raczej nie
  powinien odpowiadad za logik samych widok坦w.
 Service  czy aplikacj ze wiatem zewnetrzym,
  danymi wprowadzonymi prze u甜ytkownika,
  zassanymi z XML, bazy danych czy zewntrznego API
Jak to jest poczone, czyli jak
  Robotlegs zaatwia sprawy
Implementacja MVCS w Robotlegs
Z czego Robotlegs jest zbudowany?
   Context  tu konfigurujemy aplikacj : startup()
   Actor  rozrze甜any przez nasze Modele i Serwisy
   Mediator Map  wi甜e widoki z Mediatorami
   Mediator  cznik pomidzy widokiem a aplikacj
   Eventmap - zarzdza aczniami na linii event - suchacz
   CommandMap  aczy Eventy z Commands
   Commands  wprowadza zmiany w Modelach i Serwisach
   Injector  factory do Dependency Injection
Context
BootModels
BootServices
BootCommands
BootViewMediators
Actors  Model & Service




eventDispatcher jest zaszyty w klasie Actor, zatem
   dispatchujemy eventy z Modeli i Serwis坦w
                dispatch(event)
Model  zapewnia API dla danych
Model NIE nasuchuje
event坦w, on je wycznie
  rozgasza (dispatch).
Service  komunikacja ze wiatem poza aplikacj




miao mo甜e te甜 parsowad dane z zewntrznych 添r坦de.
    W serwisach NIE PRZETRZYMUJEMY DANYCH.
           Dane trzymamy w Modelach.
Service NIE nasuchuje
event坦w, on je wycznie
  rozgasza (dispatch).
Mediator  cznik pomidzy widokiem a reszt
               apliakcji, listonosz




Mediator zapewnia aplikacji API do widok坦w, aby trzymad
                j zdala od widok坦w.
Mediator
  Nasuchuje event坦w z widoku
Nasuchuje event坦w z frameworka.
Mediator
Rozgasza eventy do frameworka.
Mediator
Widoki NIE S POWIZANE w 甜aden spos坦b z
mediatorami (czy jakkolwiek inn klas frameworka).
Widoki nie maj pojcia o istnieniu aplikacji.

To Mediatory S POWIZANE z widokami.

Mediatory maj dostp bezporedni do Serwis坦w i
Modeli, ale (UWAGA) korzystanie z tego przywizuje
Mediator do kt坦rego z aktor坦w. U甜ywad z
ostro甜noci.
Lepiej korzystad z Commands
Commands s egzekwowane w reakcji na dispatchowany Event.
S egzekwowane i zaraz po tym niszczone.
1 Command = wycznie jedna czynnod/dziaanie.
Commands

Commandy odwalaj prac na Actors - Models & Services
Commands przechwytuj dane z Event坦w z kt坦rymi sa powizane
poprzez CommandMap
Commands rozgaszaj te甜 Eventy (dispatch)

Commands NIE odbieraj/nasuchuj Event坦w i nie wiwdz o
甜adnych innych poza tym jednym z kt坦rym s powizane
(dostpny poprzez *Inject]).
Wiedza

 http://knowledge.robotlegs.org
 https://github.com/robotlegs/robotlegs-
  framework/wiki/Best-Practices
 https://github.com/robotlegs
Ad

Recommended

MCTS 70-536 Study Group - Threading
MCTS 70-536 Study Group - Threading
Marcin Daczkowski
#3 Frontend Meetup - RequireJS
#3 Frontend Meetup - RequireJS
Maciej Grajcarek
Standard tworzenia aplikacji JSF
Standard tworzenia aplikacji JSF
PROSKAR
Progressive enhancement
Progressive enhancement
Patryk Jar
Modularny JavaScript - meet.js
Modularny JavaScript - meet.js
Patryk Jar
Cache'owanie danych w PHP
Cache'owanie danych w PHP
Patryk Jar
Kompresja stron internetowych, Tech 3 Camp, Patryk yarpo Jar
Kompresja stron internetowych, Tech 3 Camp, Patryk yarpo Jar
Patryk Jar
Walidacja po stronie klienta za pomoc jquery oraz angular js
Walidacja po stronie klienta za pomoc jquery oraz angular js
PROSKAR
Architektura aplikacji android
Architektura aplikacji android
Sages
Budowanie rozwiza serverless w chmurze Azure
Budowanie rozwiza serverless w chmurze Azure
Sages
Armedge documentation
Armedge documentation
skowronkow
Jak stworzy udany system informatyczny
Jak stworzy udany system informatyczny
qbeuek
Integracja systemow od strony praktycznej
Integracja systemow od strony praktycznej
Marek Horba
Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012
Mariusz Kedziora
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz
PLNOG16: Praktyczne zastosowania technologii SDN w 鐃 6 4 2 0 Kolumna 1 Kolumn...
PLNOG16: Praktyczne zastosowania technologii SDN w 鐃 6 4 2 0 Kolumna 1 Kolumn...
PROIDEA
Dlaczego flopsar
Dlaczego flopsar
Flopsar Technology
Cykl 甜ycia zapytania HTTP (pod mask)
Cykl 甜ycia zapytania HTTP (pod mask)
Laravel Poland MeetUp
My littlemvc 2008 official
My littlemvc 2008 official
skowronkow
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net油MVC
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net油MVC
Quick-Solution
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005
Tomasz Cieplak
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwi甜e twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwi甜e twoje problem...
Future Processing
[Warsaw 25.04.2018] - ASVS - Ba甜ej Pabiszczak, YetiForce
[Warsaw 25.04.2018] - ASVS - Ba甜ej Pabiszczak, YetiForce
OWASP
Wzorce projektowe w Magento
Wzorce projektowe w Magento
Divante
Rodzaje i funkcje system坦w operacyjnych
Rodzaje i funkcje system坦w operacyjnych
Szymon Konkol - Publikacje Cyfrowe

More Related Content

Similar to Robotlegs basics - PL (20)

Architektura aplikacji android
Architektura aplikacji android
Sages
Budowanie rozwiza serverless w chmurze Azure
Budowanie rozwiza serverless w chmurze Azure
Sages
Armedge documentation
Armedge documentation
skowronkow
Jak stworzy udany system informatyczny
Jak stworzy udany system informatyczny
qbeuek
Integracja systemow od strony praktycznej
Integracja systemow od strony praktycznej
Marek Horba
Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012
Mariusz Kedziora
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz
PLNOG16: Praktyczne zastosowania technologii SDN w 鐃 6 4 2 0 Kolumna 1 Kolumn...
PLNOG16: Praktyczne zastosowania technologii SDN w 鐃 6 4 2 0 Kolumna 1 Kolumn...
PROIDEA
Dlaczego flopsar
Dlaczego flopsar
Flopsar Technology
Cykl 甜ycia zapytania HTTP (pod mask)
Cykl 甜ycia zapytania HTTP (pod mask)
Laravel Poland MeetUp
My littlemvc 2008 official
My littlemvc 2008 official
skowronkow
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net油MVC
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net油MVC
Quick-Solution
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005
Tomasz Cieplak
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwi甜e twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwi甜e twoje problem...
Future Processing
[Warsaw 25.04.2018] - ASVS - Ba甜ej Pabiszczak, YetiForce
[Warsaw 25.04.2018] - ASVS - Ba甜ej Pabiszczak, YetiForce
OWASP
Wzorce projektowe w Magento
Wzorce projektowe w Magento
Divante
Rodzaje i funkcje system坦w operacyjnych
Rodzaje i funkcje system坦w operacyjnych
Szymon Konkol - Publikacje Cyfrowe
Architektura aplikacji android
Architektura aplikacji android
Sages
Budowanie rozwiza serverless w chmurze Azure
Budowanie rozwiza serverless w chmurze Azure
Sages
Armedge documentation
Armedge documentation
skowronkow
Jak stworzy udany system informatyczny
Jak stworzy udany system informatyczny
qbeuek
Integracja systemow od strony praktycznej
Integracja systemow od strony praktycznej
Marek Horba
Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012
Mariusz Kedziora
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz
PLNOG16: Praktyczne zastosowania technologii SDN w 鐃 6 4 2 0 Kolumna 1 Kolumn...
PLNOG16: Praktyczne zastosowania technologii SDN w 鐃 6 4 2 0 Kolumna 1 Kolumn...
PROIDEA
Cykl 甜ycia zapytania HTTP (pod mask)
Cykl 甜ycia zapytania HTTP (pod mask)
Laravel Poland MeetUp
My littlemvc 2008 official
My littlemvc 2008 official
skowronkow
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net油MVC
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net油MVC
Quick-Solution
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005
Tomasz Cieplak
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwi甜e twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwi甜e twoje problem...
Future Processing
[Warsaw 25.04.2018] - ASVS - Ba甜ej Pabiszczak, YetiForce
[Warsaw 25.04.2018] - ASVS - Ba甜ej Pabiszczak, YetiForce
OWASP
Wzorce projektowe w Magento
Wzorce projektowe w Magento
Divante

Robotlegs basics - PL

  • 2. Czym jest framework Generalnie jakikolwiek zbi坦r klas lub bibliotek wielokrotnego u甜ytku, Flex, jQuery, RoR... Robotlegs KOMUNIKACJA I WSPPRACA Robotlegs koncentruje si na uatwieniu komunikacji i wsp坦pracy pomidzy poszczeg坦lnymi czciami aplikacji jednokierunkowa komunikacja obiekt posiada referencj do innego i wywouje publiczne metody (API) Komunikacja poprzez wydarzenia i przekazywanie wiadomoci
  • 3. Charakterystyczne cechy mikroarchitektura Czysty AS3 Zniechca do uzywania Singleton i wszystkiego co statyczne(sprzyja TDD oraz debugowaniu) Zapomnij o bbelkowaniu U甜ywa metadanych do dependency injection, przez co uwalnia nas od tworzenia zbdnych zale甜noci Promuje lu添ne wizanie Preferuje kompozycj, nie dziedziczenie (czyli skadanie waciwoci obiektu z maych klas funkcyjnych )
  • 4. MVCS Model przetrzymuje wiedz i manipuluje stanami aplikacji View to wszystko to, co widzisz i syszysz Controller tumaczy akcje u甜ytkownika na jzyk stan坦w aplikacji, nie odpowiada czy raczej nie powinien odpowiadad za logik samych widok坦w. Service czy aplikacj ze wiatem zewnetrzym, danymi wprowadzonymi prze u甜ytkownika, zassanymi z XML, bazy danych czy zewntrznego API
  • 5. Jak to jest poczone, czyli jak Robotlegs zaatwia sprawy
  • 7. Z czego Robotlegs jest zbudowany? Context tu konfigurujemy aplikacj : startup() Actor rozrze甜any przez nasze Modele i Serwisy Mediator Map wi甜e widoki z Mediatorami Mediator cznik pomidzy widokiem a aplikacj Eventmap - zarzdza aczniami na linii event - suchacz CommandMap aczy Eventy z Commands Commands wprowadza zmiany w Modelach i Serwisach Injector factory do Dependency Injection
  • 13. Actors Model & Service eventDispatcher jest zaszyty w klasie Actor, zatem dispatchujemy eventy z Modeli i Serwis坦w dispatch(event)
  • 14. Model zapewnia API dla danych
  • 15. Model NIE nasuchuje event坦w, on je wycznie rozgasza (dispatch).
  • 16. Service komunikacja ze wiatem poza aplikacj miao mo甜e te甜 parsowad dane z zewntrznych 添r坦de. W serwisach NIE PRZETRZYMUJEMY DANYCH. Dane trzymamy w Modelach.
  • 17. Service NIE nasuchuje event坦w, on je wycznie rozgasza (dispatch).
  • 18. Mediator cznik pomidzy widokiem a reszt apliakcji, listonosz Mediator zapewnia aplikacji API do widok坦w, aby trzymad j zdala od widok坦w.
  • 19. Mediator Nasuchuje event坦w z widoku Nasuchuje event坦w z frameworka.
  • 21. Mediator Widoki NIE S POWIZANE w 甜aden spos坦b z mediatorami (czy jakkolwiek inn klas frameworka). Widoki nie maj pojcia o istnieniu aplikacji. To Mediatory S POWIZANE z widokami. Mediatory maj dostp bezporedni do Serwis坦w i Modeli, ale (UWAGA) korzystanie z tego przywizuje Mediator do kt坦rego z aktor坦w. U甜ywad z ostro甜noci.
  • 22. Lepiej korzystad z Commands Commands s egzekwowane w reakcji na dispatchowany Event. S egzekwowane i zaraz po tym niszczone. 1 Command = wycznie jedna czynnod/dziaanie.
  • 23. Commands Commandy odwalaj prac na Actors - Models & Services Commands przechwytuj dane z Event坦w z kt坦rymi sa powizane poprzez CommandMap Commands rozgaszaj te甜 Eventy (dispatch) Commands NIE odbieraj/nasuchuj Event坦w i nie wiwdz o 甜adnych innych poza tym jednym z kt坦rym s powizane (dostpny poprzez *Inject]).
  • 24. Wiedza http://knowledge.robotlegs.org https://github.com/robotlegs/robotlegs- framework/wiki/Best-Practices https://github.com/robotlegs