एल्म - वास्तुकला

इस अध्याय में, हम एल्म प्लेटफॉर्म में एप्लिकेशन बनाने के मानक तरीके पर चर्चा करेंगे। एल्म मॉडल-व्यू-कंट्रोलर पैटर्न के समान एक वास्तुशिल्प पैटर्न का उपयोग करता है।

निम्नलिखित एल्म वास्तुकला के चार मुख्य भाग हैं।

  • Model
  • View
  • Message
  • Update

एल्म वास्तुकला कैसे काम करती है

modelअनुप्रयोग स्थिति शामिल है। उदाहरण के लिए, यदि कोई एप्लिकेशन ग्राहकों की सूची प्रदर्शित करता है तो राज्य में प्रत्येक ग्राहक डेटा होगा। राज्य को प्रस्तुत करने योग्य तरीके से प्रदर्शित करने के लिए, एview/ html को जनरेट करना होगा। एक बार उपयोगकर्ता एक बटन दबाकर या किसी प्रपत्र में डेटा टाइप करके दृश्य के साथ इंटरैक्ट करता है, तो दृश्य नामक सिग्नल उत्पन्न करता हैmessages। संदेशों को पारित किया जाता हैupdateविधि, जो संदेशों का मूल्यांकन करती है और उचित कार्रवाई करती है। इसलिए, अपडेट विधि एक नया मॉडल उत्पन्न करेगी।

नया मॉडल एक नया दृश्य उत्पन्न करता है। दृश्य उपयोगकर्ता से नए संदेशों को संकेत करने के लिए नई बातचीत का नेतृत्व करेगा, जो अपडेट फ़ंक्शन के लिए जाता है। इसके अलावा, फ़ंक्शन एक नया मॉडल बनाता है। तो, चक्र दोहराता है जैसा कि ऊपर चित्र में दिखाया गया है।

नमूना

मॉडल आवेदन की स्थिति से संबंधित है। एक मॉडल को परिभाषित करने का सिंटैक्स नीचे दिया गया है -

-- Model syntax

type alias Model = {
   property1:datatype,
   proptery2:datatype
...
}

एक मॉडल बनाने के लिए, हमें पहले उसमें आवश्यक सभी संपत्ति के साथ एक टेम्पलेट बनाना होगा। प्रत्येक गुण एप्लिकेशन की स्थिति को निर्दिष्ट करता है।

राय

दृश्य अनुप्रयोग स्थिति का एक दृश्य प्रतिनिधित्व है। व्यू जानता है कि डेटा कैसे लेना है और उसमें से वेब पेज कैसे जेनरेट करना है। जब कोई उपयोगकर्ता दृश्य के साथ सहभागिता करता है, तो उपयोगकर्ता संदेश उत्पन्न करके राज्य में हेरफेर कर सकता है। किसी दृश्य को परिभाषित करने का सिंटैक्स नीचे दिया गया है -

--View Syntax
view model =some_implementation

संदेश

संदेश एप्लिकेशन अनुप्रयोग को बदलने के लिए उपयोगकर्ता से एक अनुरोध है। संदेश अपडेट फ़ंक्शन के पैरामीटर के रूप में पारित किए जाते हैं।

--Message Syntax
type Message = Message1 |Message2 ...

सिंटैक्स एक प्रकार का संदेश दिखाता है। एल्म एप्लिकेशन राज्य को उसके द्वारा भेजे गए संदेशों के आधार पर संपादित करेगा। ये निर्णय अद्यतन विधि में किए गए हैं।

अपडेट करें

अपडेट फ़ंक्शन उन संदेशों की व्याख्या करता है, जो इसे पैरामीटर के रूप में पारित करते हैं, और मॉडल को अपडेट करते हैं।

--Update Syntax
update Message_type model =
   some_implementation

अद्यतन कार्य करता है Message और मॉडल पैरामीटर के रूप में।