Akció-tartomány-válaszoló
Az akció-tartomány-válaszoló (ADR) egy architekturális programtervezési minta, amit Paul M. Jones javasolt a modell-nézet-vezérlő minta finomítására,[1] mivel jobban illeszkedik a webes alkalmazásokhoz. Jobban alkalmazkodik a HTTP kérés-válasz folyamatához, mivel a modell-nézet-vezérlőt eredetileg desktop alkalmazásokhoz fejlesztették ki.
Komponensek
[szerkesztés]A mintának a modell-nézet-vezérlőhöz hasonlóan három komponense van:
- Az akció fogadja a HTTP kéréseket, az URL-eket és a metódusokat. A bemenet felhasználásával kommunikál a tartománnyal, majd miután a tartomány válaszolt, a választ továbbítja az egyik válaszolónak.
- A válaszoló megalkotja a választ, majd átadja az akciónak visszaküldésre.
Összehasonlítás a modell-nézet-vezérlővel
[szerkesztés]Az akció-tartomány-válaszoló nem ugyanaz, mint a modell-nézet-vezérlő (MVC), habár vannak hasonlóságok.
- Az ADR tartományának szerepe hasonlít az MVC modelljéhez. A különbség a viselkedésben rejlik: az MVC-ben a nézet küldhet információt a modellnek, míg az ADR-ben a tartomány csak az akcióval kommunikál.
- A webes MVC-ben a nézetet csak a vezérlő használja, hogy létrehozza a választ, amit a vezérlő küldés előtt módosíthat. Az ADR-ben a teljes kimenetet a válaszoló alkotja meg, az akció csak elküldi neki a tartomány válaszát.
- Az MVC vezérlők rendszerint tartalmaznak néhány olyan metódust, amik egy osztályba téve további logikát igényelnek, mint akcióelőkészítő és lezáró hook függvényeket. Az ADR akcióit ellenben egy osztály, vagy zárvány alkotja. Az akció és a tartomány kommunikációja hasonlít a vezérlő és a modell interakciójára, kivéve, hogy az akció nem kommunikál sablonokkal vagy egy nézettel, hanem ezt a válaszoló megteszi helyette.
Jegyzetek
[szerkesztés]- ↑ Action-Domain-Responder: A Tentative MVC Refinement. paul-m-jones.com
Források
[szerkesztés]- Paul M. Jones' original proposal of ADR
- Implementing ADR in Laravel, an implementation of the pattern in the Laravel PHP framework.
Fordítás
[szerkesztés]Ez a szócikk részben vagy egészben az Action–domain–responder című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.