Sobes.tech
Senior

Papasakokite apie Code-On-Demand principą.

sobes.tech AI

Atsakymas iš AI

Code-On-Demand principas (Kodas pagal poreikį) — vienas iš pasirinktinių REST architektūros stilių, kai serveris laikinai plečia kliento funkcionalumą perduodamas vykdomą kodą.

Tai leidžia klientą padaryti plonesnį, perkelti dalį logikos į serverį, kuri "paleidžiama pagal poreikį" esant poreikiui.

Naudojimo pavyzdžiai:

  • JavaScript žiniatinklio programose: Serveris siunčia JavaScript kodą naršyklei, kuris vykdomas kliento pusėje, kad būtų įgyvendintas interaktyvumas, duomenų patikra, asinchroniniai užklausos ir kt.
  • Įskiepiai ir plėtiniai: Serveris gali pateikti kodą programėlės ar kliento funkcionalumo plėtimui.

Privalumai:

  • Sumažintas perduodamų duomenų kiekis: Kodas siunčiamas tik tada, kai jis reikalingas.
  • Lankstumas: Serveris gali dinamiškai keisti kliento elgseną.
  • Daug plonesnis klientas: Klientas nereikalauja iš anksto įgyvendinti viso galimo funkcionalumo.

Trūkumai:

  • Įgyvendinimo ir saugumo sudėtingumas: Reikalingas patikimas mechanizmas kodo perdavimui ir vykdymui.
  • Našumas: Kodo įkėlimas ir vykdymas gali užtrukti.
// Pavyzdys, kaip Code-On-Demand veikia žiniatinklyje: serveris siunčia JS formos patikrinimui
// Serveris siunčia HTML su forma ir skriptu
/*
<html>
<body>
  <form id="myForm">
    <input type="text" id="myInput">
    <button type="submit">Siųsti</button>
  </form>

  <script src="/validate.js"></script> // Skriptas "poreikio" pagalba įkeliama
</body>
</html>
*/

// /validate.js turinys
// Šis kodas vykdomas kliento pusėje po įkėlimo
document.getElementById('myForm').addEventListener('submit', function(event) {
  const input = document.getElementById('myInput');
  if (input.value.trim() === '') {
    alert('Laukas negali būti tuščias!');
    event.preventDefault(); // formos siuntimo atšaukimas
  }
});