SlideShare a Scribd company logo
Action Domain Response
Michał Łukaszewski
Xerox
Trygve Reenskaug
MVC
MVC
Przyjmuje dane wejsciowe i
reaguje na akcje
użytkownika zarządzając
aktualizację modelu lub
widoku
MVC
Przyjmuje dane wejsciowe i
reaguje na akcje
użytkownika zarządzając
aktualizację modelu lub
widoku
Opisuje sposób
reprezentacji danych w
ramach GUI
MVC
Przyjmuje dane wejsciowe i
reaguje na akcje
użytkownika zarządzając
aktualizację modelu lub
widoku
Opisuje sposób
reprezentacji danych w
ramach GUI
Reprezentuje 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ąc
MVC i ADR to wzorce dla GUI, nie architektura aplikacji
Podsumowując
MVC i ADR to wzorce dla GUI, nie architektura aplikacji
ADR to alternatywa dostosowana do HTTP (i PHP w szczególnosci)
Podsumowując
MVC 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ąc
MVC 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

More Related Content

PDF
Action-Domain-Responder: A Web-Specific Refinement of Model-View-Controller
PDF
"Nie wiem", czyli od pomysłu, do produktu // LET SWIFT #12
PPTX
Bohater UI bez front end developera ?
PPTX
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
PDF
Patronage 2016 Windows 10 Warsztaty
PDF
Co nowego w ASP.NET MVC 4?
PDF
Architektura aplikacji android
PDF
Produkcja aplikacji internetowych
Action-Domain-Responder: A Web-Specific Refinement of Model-View-Controller
"Nie wiem", czyli od pomysłu, do produktu // LET SWIFT #12
Bohater UI bez front end developera ?
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
Patronage 2016 Windows 10 Warsztaty
Co nowego w ASP.NET MVC 4?
Architektura aplikacji android
Produkcja aplikacji internetowych

More from Michal Lukaszewski (9)

PPTX
How we built a tools stack for the benchmarking AI and what happened next
PPTX
Dwa sposoby na pisanie aplikacji bez błędów
PPTX
How to fix a code to not corrupt an application
PDF
Distributed Systems @ Code Europe
PDF
Budowanie aplikacji PHP bez użycia frameworków
PPTX
Domain Events in Distributed Architecture
PPTX
Wydajność i optymalizacja
PPTX
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadku
PPTX
Solid vs php
How we built a tools stack for the benchmarking AI and what happened next
Dwa sposoby na pisanie aplikacji bez błędów
How to fix a code to not corrupt an application
Distributed Systems @ Code Europe
Budowanie aplikacji PHP bez użycia frameworków
Domain Events in Distributed Architecture
Wydajność i optymalizacja
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadku
Solid vs php
Ad

Action Domain Response

Editor's Notes

  • #12: Model View Presenter - prezentr posiada pewną wiedzę o GUI i mapuje akcje na zmiany widoku lub modelu Presentation Abstract Controller - hierarchiczne drzew agentów "Control" z przypisanymi im czesciami Present i Abstraction Herarchical MVC - PAC oparty o MVC Passive View - zerwane powiązania modelu z widokiem MV ViewModel - czesc przezentacji ma swój model; zawiera logikę związaną z reprezentacją danych.