Функционалды тілдер
Математикалық логика мен онымен байланысты тілдердің идеяларын дамытуға назар аударсаңыз, бұл бағыт функционалдық тілдерден басқа ештеңе емес екені белгілі болады.
Мұндай тілдің мысалы - SQL:
select studentID, FullName, sat_score
from student
where (studentID between 1 and 5 -- inclusive
or studentID = 8
or FullName like '%Maximo%')
and sat_score NOT in (1000, 1400)
order by FullName DESC;
Деректер базасына қол жеткізген кезде біз қажетті деректерді қалай алуға болатынын жазбаймыз. Біз көргіміз келетін нәтижені бірден көрсетеміз. Ұқсас мысал CSS көмегімен HTML белгілеу тілі болып табылады. Оның құралдарын пайдалана отырып, біз бетті қалай елестетсек, солай белгілейміз. Және біз мазмұнды көрсетуге арналған әрекет нұсқауларын көрсетпейміз.
html>
<html lang="en">
Hello World
<body>
<span>Hello World!span>
body>
html>
Мұның бәрі жағдайға байланысты. Декларативті компонентті іске асыру күйге тәуелді функцияға ие болу идеясын пайдаланады. Мұндай функцияның нәтижесі жаңа орналасу опциясы болып табылады: func render (контекст) → UI.
Бұл не үшін қажет? Бұл жеке құрамдас әдістер арқылы емес, күй арқылы интерфейспен өзара әрекеттесуге мүмкіндік береді. Бұл жүйе күйлерінің сәйкес келмеуі ықтималдығын азайтып, оларды жақсырақ басқаруға мүмкіндік береді. Басқаша айтқанда, әзірлеуші мұндай функцияны сипаттағанда, оған барлық мүмкін күйлер мен мінез-құлықтар кіреді. Бірақ мемлекет дегеніміз не? Бұл екі параметрі бар функция: оқиға және алдыңғы күй. Күй (әрекет, алдыңғы_күй) сәйкес келеді. Бұл мүмкіндік Redux архитектуралық үлгісін еске түсіреді. Ол дисплей элементтерінде тоқтамай, қолданбадағы барлық логика үшін бірдей функционалдықпен жұмыс істейді.
Достарыңызбен бөлісу: |