Action Domain Response

Post on 13-Apr-2017

392 views 3 download

Transcript of Action Domain Response

Action Domain Response

Michał Łukaszewski

Xerox

Trygve Reenskaug

MVC

MVCPrzyjmuje dane wejsciowe i

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

widoku

MVCPrzyjmuje dane wejsciowe i

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

widoku

Opisuje sposób reprezentacji danych w

ramach GUI

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

MVC• Composite pattern• Observer pattern• Strategy pattern

MVC• Composite pattern• Observer pattern• Strategy pattern

Gang of Four • Factory method pattern • Decorator pattern

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.)

MVC• MVP• PAC• HMVC

• Passive View• MVVM

MVC

MVC

MVC

ADR

ADR

ADR• Action

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

ADR• Action

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

Wchodzi w interakcję tylko z Domeną

ADR• Responder

Każda akcja komunikuje się z konkretnym Responderem.

ADR• Responder

Każda akcja komunikuje się z konkretnym Responderem.

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

ADR• Domain

Logika biznesowa

ADR• Domain

Logika biznesowa

Zbliżone do koncepcji "Model"

ADR• Domain

Logika biznesowa

Zbliżone do koncepcji "Model"

Brak powiązań z Responderem

MVC

MVC

ADR

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

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

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

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

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.

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