Sobes.tech
Senior

გააზიარეთ Code-On-Demand-ის პრინციპი.

sobes.tech AI

პასუხი AI-სგან

Code-On-Demand პრინციპი (კოდი მოთხოვნის მიხედვით) — REST-ის ერთ-ერთი არჩევითი არქიტექტურული სტილი, როდესაც სერვერი დროებით ზრდის კლიენტის ფუნქციონალობას გადასცემს მას შესრულებად კოდს.

ეს საშუალებას აძლევს კლიენტს იყოს უფრო თხელი, ნაწილობრივ გადადის ლოგიკა სერვერზე, რომელიც "მოთხოვნის მიხედვით" იტვირთება საჭიროების შემთხვევაში.

გამოყენების მაგალითები:

  • JavaScript ვებ-აპლიკაციებში: სერვერი გადასცემს JavaScript კოდს ბრაუზერს, რომელიც შესრულდება კლიენტის მხარეზე ინტერლექტის, მონაცემების ვალიდაციის, ასინქრონული მოთხოვნების და ა.შ. განსახორციელებლად.
  • პლაგინები და გაფართოებები: სერვერი შეუძლია უზრუნველყოს კოდის მიწოდება აპლიკაციის ან კლიენტის ფუნქციონალის გაფართოებისთვის.

უპირატესობები:

  • გადაცემული მონაცემების მოცულობის შემცირება: კოდი გადაეცემა მხოლოდ საჭიროების შემთხვევაში.
  • გონივრული მოქნილობა: სერვერი შეუძლია დინამიურად შეცვალოს კლიენტის ქცევა.
  • უფრო თხელი კლიენტი: კლიენტი არ საჭიროებს ყველა შესაძლო ფუნქციონალის წინასწარ განხორციელებას.

მცირეობები:

  • განხორციელებისა და უსაფრთხოების სირთულეები: საჭიროა საიმედო მექანიზმი კოდის გადაცემისა და შესრულებისთვის.
  • პროდუქტიულობა: კოდის ჩამოტვირთვა და შესრულება შეიძლება დროის მოხმარება.
// Code-On-Demand-ის მაგალითი ვებ-გვერდზე: სერვერი გადასცემს JS-ს ფორმის ვალიდაციისთვის
// სერვერი გადასცემს HTML-ს ფორმით და სკრიპტით
/*
<html>
<body>
  <form id="myForm">
    <input type="text" id="myInput">
    <button type="submit">გაგზავნა</button>
  </form>

  <script src="/validate.js"></script> // სკრიპტი "მოთხოვნის მიხედვით" იტვირთება
</body>
</html>
*/

// /validate.js შიგთავსი
// ეს კოდი შესრულდება მომხმარებლის მხარეზე ჩამოტვირთვის შემდეგ
document.getElementById('myForm').addEventListener('submit', function(event) {
  const input = document.getElementById('myInput');
  if (input.value.trim() === '') {
    alert('სავალდებულოა ველი!');
    event.preventDefault(); // ფორმის გაგზავნის გაუქმება
  }
});