Action–domän–svarare

Action–domain–responder ( ADR ) är ett arkitektoniskt mjukvarumönster som föreslogs av Paul M. Jones som en förfining av Model–view–controller (MVC) som är bättre lämpad för webbapplikationer. ADR utformades för att matcha förfrågningssvarsflödet för HTTP -kommunikation bättre än MVC, som ursprungligen designades för stationära programvaruapplikationer. I likhet med MVC är mönstret uppdelat i tre delar.

Komponenter

  • Åtgärden tar HTTP-förfrågningar ( URL:er och deras metoder) och använder den ingången för att interagera med domänen , varefter den skickar domänens utdata till en och endast en svarare .
  • Domänen kan ändra tillstånd, interagera med lagring och/eller manipulera data efter behov . Den innehåller affärslogiken.
  • Svararen bygger hela HTTP-svaret från domänens utdata som ges till den av åtgärden .

Jämförelse med MVC

ADR ska inte förväxlas med ett byte av MVC; dock finns vissa likheter.

  • MVC - modellen är mycket lik ADR - domänen . Skillnaden ligger i beteende: i MVC vyn skicka information till eller modifiera modellen , [ citat behövs ] medan i ADR, domänen bara får information från åtgärden , inte svararen .
  • I webcentrerad MVC används vyn bara av styrenheten för att generera innehållet i ett svar, som styrenheten sedan kan manipulera innan den skickar som utdata. I ADR överförs exekveringskontrollen till svarsmottagaren efter att åtgärden har avslutat interaktion med domänen , och svararen är därför helt ansvarig för att generera all utdata. Den som svarar kan sedan använda vilken vy eller mall som helst som den behöver.
  • MVC- kontroller innehåller vanligtvis flera metoder som, när de kombineras i en enda klass, kräver ytterligare logik för att hantera korrekt, som pre- och post-action krokar. Varje ADR-åtgärd representeras dock av separata klasser eller stängningar. När det gäller beteende, åtgärden med domänen på samma sätt som MVC- kontrollern interagerar med modellen , förutom att åtgärden då inte interagerar med ett vy- eller mallsystem, utan snarare skickar kontrollen till svarsmottagaren som hanterar det.

externa länkar