Hur man Skapar XML-Baserade System

En implicit grund för XML-teknologierna är att data är en förstklassig medborgare – de får inte gömas bort i en garderob, bakom låsta dörrar. Uppgifterna ska vara:

  • Synlig
  • Deklarativt uttryckt
  • Mobil
  • Bekväm för flera olika sidoeffektfria manipulationer

Exempel: Överväg medicinska journaler: Jag vill se mina medicinska journaler. (Synligt) Jag vill läsa dem. (Förklarande) Jag vill skicka dem till en specialist när behovet uppstår. (Mobil) Jag vill att specialisten och min primärvårdsläkare ska behandla journalerna på sina egna sätt. (Manipulerbart)

I en annan artikel beskriver jag statslösa kontra tillståndsfunktioner. I den artikeln visar jag att med en statslös funktion är resultatet alltid detsamma när funktionen ges samma argument – ring en kvadratrotfunktion två gånger med argumentet 9 och resultatet blir 3 varje gång. I en tillräcklig funktion kan resultaten vara annorlunda – ring en bankuttagsfunktion två gånger med argumentet $ 25 och resultatet blir annorlunda varje gång. Funktionen för uttag behåller ett register över banksaldot och minskar det vid varje samtal. Således beräknar uttagningsfunktionen inte bara ett resultat utan ändrar också en variabel. Det senare kallas en biverkning. I artikeln beskriver jag hur man konverterar en tillståndsfunktion till en statslös funktion: registrera användarens banktransaktioner i ett XML-dokument och kalla den nya uttagningsfunktionen med två argument – beloppet som ska tas ut och XML-dokumentet. Den nya uttagningsfunktionen är sidoeffektfri. Att skriva program så att dess funktioner är utan sidoeffekt kallas funktionell programmering.

I den första uttagningsfunktionen är bankbalansdata inte en förstklassig medborgare – de är låsta bakom de stängda dörrarna till programmeringskoden.

I den nya uttagningsfunktionen är datan fri – ett XML-dokument registrerar den ursprungliga saldot och varje banktransaktion. Systemet – användare, uttagningsfunktion och bankpost (XML-dokument) – släpper alla kvaliteter som XML-gemenskapen anser vara god: uppgifterna är synliga, deklarativt uttryckta, mobila och möjliga för flera olika sidoeffektfria manipulationer.

Nu vet du hur du skapar XML-baserade system.


Leave a Reply

Your email address will not be published. Required fields are marked *