Sobes.tech
Senior

Rääkige Code-On-Demand põhimõttest.

sobes.tech AI

Vastus AI-lt

Code-On-Demand printsiip (Kood nõudmisel) — üks valikuline arhitektuuristiilidest RESTis, kus server võib ajutiselt laiendada kliendi funktsionaalsust, edastades talle täitmise koodi.

See võimaldab teha kliendi õhemaks, viies osa loogikast serverile, mis laaditakse "nõudmisel" vajadusel.

Kasutusnäited:

  • JavaScript veebirakendustes: Server saadab JavaScript-koodi brauserile, mis täidetakse kliendi poolel, et teostada interaktiivsust, andmete valideerimist, asünkroonseid päringuid jms.
  • Pluginad ja laiendused: Server võib pakkuda koodi rakenduse või kliendi funktsionaalsuse laiendamiseks.

Eelised:

  • Vähenenud edastatavate andmete maht: Kood saadetakse ainult siis, kui see on vajalik.
  • Paindlikkus: Server saab dünaamiliselt muuta kliendi käitumist.
  • Veel õhem klient: Klient ei vaja kõiki võimalikke funktsioone eelnevalt rakendada.

Puudused:

  • Rakendamise ja turvalisuse keerukus: Vajalik usaldusväärne mehhanism koodi usaldusväärseks edastamiseks ja täitmiseks.
  • Jõudlus: Koodi laadimine ja täitmine võib võtta aega.
// Näide Code-On-Demandist veebis: server saadab JS-i vormi valideerimiseks
// Server saadab HTML-i vormi ja skriptiga
/*
<html>
<body>
  <form id="myForm">
    <input type="text" id="myInput">
    <button type="submit">Saada</button>
  </form>

  <script src="/validate.js"></script> // Skript "nõudmise järgi" laaditakse
</body>
</html>
*/

// /validate.js sisu
// See kood täidetakse kliendi poolel pärast laadimist
document.getElementById('myForm').addEventListener('submit', function(event) {
  const input = document.getElementById('myInput');
  if (input.value.trim() === '') {
    alert('Väli ei või olla tühi!');
    event.preventDefault(); // vormi saatmise tühistamine
  }
});