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
}
});