Action Domain Response

31
Action Domain Response Michał Łukaszewski

Transcript of Action Domain Response

Page 1: Action Domain Response

Action Domain Response

Michał Łukaszewski

Page 2: Action Domain Response

Xerox

Page 3: Action Domain Response

Trygve Reenskaug

Page 4: Action Domain Response

MVC

Page 5: Action Domain Response

MVCPrzyjmuje dane wejsciowe i

reaguje na akcje użytkownika zarządzając aktualizację modelu lub

widoku

Page 6: Action Domain Response

MVCPrzyjmuje dane wejsciowe i

reaguje na akcje użytkownika zarządzając aktualizację modelu lub

widoku

Opisuje sposób reprezentacji danych w

ramach GUI

Page 7: Action Domain Response

MVCPrzyjmuje dane wejsciowe i

reaguje na akcje użytkownika zarządzając aktualizację modelu lub

widoku

Opisuje sposób reprezentacji danych w

ramach GUIReprezentuje problem lub

logikę aplikacji

Page 8: Action Domain Response

MVC• Composite pattern• Observer pattern• Strategy pattern

Page 9: Action Domain Response

MVC• Composite pattern• Observer pattern• Strategy pattern

Gang of Four • Factory method pattern • Decorator pattern

Page 10: Action Domain Response

MVC• Composite pattern• Observer pattern• Strategy pattern

Gang of Four • Factory method pattern • Decorator pattern

patrz też: Frank Buschmann, Kevlin Henney, Douglas C. Schmidt: Pattern-oriented software architecture: On patterns and pattern languages Volume 5. Wiley, 2007, s. 178-179. ISBN 978-0471486480. (ang.)

Page 11: Action Domain Response

MVC• MVP• PAC• HMVC

• Passive View• MVVM

Page 12: Action Domain Response

MVC

Page 13: Action Domain Response

MVC

Page 14: Action Domain Response

MVC

Page 15: Action Domain Response

ADR

Page 16: Action Domain Response

ADR

Page 17: Action Domain Response

ADR• Action

Każda akcja jest reprezentowana przez pojedynczą klasę lub domknięcie (Closure)

Page 18: Action Domain Response

ADR• Action

Każda akcja jest reprezentowana przez pojedynczą klasę lub domknięcie (Closure)

Wchodzi w interakcję tylko z Domeną

Page 19: Action Domain Response

ADR• Responder

Każda akcja komunikuje się z konkretnym Responderem.

Page 20: Action Domain Response

ADR• Responder

Każda akcja komunikuje się z konkretnym Responderem.

Dany Responder może być używany przez więcej niż jedną akcję.

Page 21: Action Domain Response

ADR• Domain

Logika biznesowa

Page 22: Action Domain Response

ADR• Domain

Logika biznesowa

Zbliżone do koncepcji "Model"

Page 23: Action Domain Response

ADR• Domain

Logika biznesowa

Zbliżone do koncepcji "Model"

Brak powiązań z Responderem

Page 24: Action Domain Response

MVC

Page 25: Action Domain Response

MVC

Page 26: Action Domain Response

ADR

Page 27: Action Domain Response

PodsumowującMVC i ADR to wzorce dla GUI, nie architektura aplikacji

Page 28: Action Domain Response

PodsumowującMVC i ADR to wzorce dla GUI, nie architektura aplikacji

ADR to alternatywa dostosowana do HTTP (i PHP w szczególnosci)

Page 29: Action Domain Response

PodsumowującMVC i ADR to wzorce dla GUI, nie architektura aplikacji

ADR to alternatywa dostosowana do HTTP (i PHP w szczególnosci)

Uwzględniająca PSR-7

Page 30: Action Domain Response

PodsumowującMVC i ADR to wzorce dla GUI, nie architektura aplikacji,

ADR to alternatywa dostosowana do HTTP (i PHP w szczególnosci),

Uwzględniająca PSR-7,

ale nie zbawiająca swiat.

Page 31: Action Domain Response

Literatura• http://pmjones.io/adr/• https://lostechies.com/derekgreer/2007/08/25/interactive-application-architecture/• http://paul-m-jones.com/archives/6079• http://paul-m-jones.com/archives/5979• http://paul-m-jones.com/archives/6172• http://paul-m-jones.com/archives/6142• http://paul-m-jones.com/archives/6129• http://paul-m-jones.com/archives/6119• http://paul-m-jones.com/archives/6119• https://mwop.net/blog/2015-01-26-psr-7-by-example.html• http://mtdowling.com/blog/2014/07/03/a-case-for-higher-level-php-streams/• http://evertpot.com/psr-7-issues/• http://www.php-fig.org/psr/psr-7/• http://stackoverflow.com/questions/11029758/do-my-mvc-components-really-all-need-references-to-each-other• http://martinfowler.com/eaaDev/uiArchs.html#ModelViewController• http://confreaks.tv/videos/rubymidwest2011-keynote-architecture-the-lost-years