logologo
เริ่มต้น
คู่มือ
การพัฒนา
ปลั๊กอิน
API
หน้าหลัก
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
เริ่มต้น
คู่มือ
การพัฒนา
ปลั๊กอิน
API
หน้าหลัก
logologo

บทนำ

FlowEngine คืออะไร
ความสัมพันธ์ระหว่าง FlowEngine และปลั๊กอิน
เริ่มต้นใช้งานอย่างรวดเร็ว
แผนผังการเรียนรู้

คู่มือ

ลงทะเบียน FlowModel
สร้าง FlowModel
เรนเดอร์ FlowModel
กระแสเหตุการณ์และการกำหนดค่าของ FlowModel
การทำให้ FlowModel คงอยู่ถาวร
วงจรชีวิตของ FlowModel
ระบบบริบทของ FlowModel
กลไกการตอบสนอง: Observable
FlowModel vs React.Component
จุดขยายปลั๊กอิน RunJS

Definitions

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Next PageFlowEngine คืออะไร
TIP

เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ

#โฟลว์เหตุการณ์

ใน FlowEngine คอมโพเนนต์ทั้งหมดของอินเทอร์เฟซเป็นแบบ ขับเคลื่อนด้วยเหตุการณ์ (Event-driven) ครับ/ค่ะ พฤติกรรม การโต้ตอบ และการเปลี่ยนแปลงข้อมูลของคอมโพเนนต์จะถูกทริกเกอร์โดยเหตุการณ์ (Event) และดำเนินการผ่านโฟลว์ (Flow) ครับ/ค่ะ

#โฟลว์แบบคงที่เทียบกับโฟลว์แบบไดนามิก

ใน FlowEngine โฟลว์ (Flow) สามารถแบ่งออกได้เป็นสองประเภทครับ/ค่ะ

#1. โฟลว์แบบคงที่ (Static Flow)

  • ถูกกำหนดโดยนักพัฒนาในโค้ดครับ/ค่ะ
  • มีผลกับ อินสแตนซ์ทั้งหมดของคลาส Model ครับ/ค่ะ
  • มักใช้เพื่อจัดการตรรกะทั่วไปของคลาส Model ครับ/ค่ะ

#2. โฟลว์แบบไดนามิก (Dynamic Flow)

  • ถูกกำหนดค่าโดยผู้ใช้บนอินเทอร์เฟซครับ/ค่ะ
  • มีผลเฉพาะกับอินสแตนซ์ที่เจาะจงเท่านั้นครับ/ค่ะ
  • มักใช้สำหรับพฤติกรรมที่ปรับแต่งเฉพาะบุคคลในสถานการณ์ที่เจาะจงครับ/ค่ะ

สรุปง่ายๆ คือ: โฟลว์แบบคงที่เป็นเทมเพลตตรรกะที่กำหนดไว้บนคลาส ส่วนโฟลว์แบบไดนามิกเป็นตรรกะที่ปรับแต่งเฉพาะบุคคลซึ่งกำหนดไว้บนอินสแตนซ์ครับ/ค่ะ

#กฎการเชื่อมโยงเทียบกับโฟลว์แบบไดนามิก

ในระบบการกำหนดค่าของ FlowEngine มีสองวิธีในการนำตรรกะของเหตุการณ์ไปใช้ครับ/ค่ะ

#1. กฎการเชื่อมโยง (Linkage Rules)

  • เป็น การห่อหุ้มขั้นตอน (Step) ของโฟลว์เหตุการณ์ที่มาพร้อมระบบ ครับ/ค่ะ
  • กำหนดค่าได้ง่ายกว่าและมีความหมายชัดเจนยิ่งขึ้นครับ/ค่ะ
  • โดยพื้นฐานแล้วยังคงเป็นรูปแบบที่เรียบง่ายของ โฟลว์เหตุการณ์ (Flow) ครับ/ค่ะ

#2. โฟลว์แบบไดนามิก (Dynamic Flow)

  • มีความสามารถในการกำหนดค่าโฟลว์ได้อย่างสมบูรณ์ครับ/ค่ะ
  • สามารถปรับแต่งได้:
    • ทริกเกอร์ (on): กำหนดว่าจะทริกเกอร์เมื่อใดครับ/ค่ะ
    • ขั้นตอนการดำเนินการ (steps): กำหนดตรรกะที่จะดำเนินการครับ/ค่ะ
  • เหมาะสำหรับตรรกะทางธุรกิจที่ซับซ้อนและยืดหยุ่นมากขึ้นครับ/ค่ะ

ดังนั้น กฎการเชื่อมโยง ≈ โฟลว์เหตุการณ์แบบง่าย กลไกหลักของทั้งสองอย่างจึงสอดคล้องกันครับ/ค่ะ

#ความสอดคล้องของ FlowAction

ไม่ว่าจะเป็น กฎการเชื่อมโยง หรือ โฟลว์เหตุการณ์ ควรใช้ชุด FlowAction เดียวกันครับ/ค่ะ กล่าวคือ:

  • FlowAction กำหนดการดำเนินการที่สามารถเรียกใช้โดย Flow ได้ครับ/ค่ะ
  • ทั้งสองใช้ระบบการดำเนินการชุดเดียวกัน ไม่ใช่การนำไปใช้แยกกันสองชุดครับ/ค่ะ
  • ซึ่งจะช่วยให้มั่นใจได้ถึงการนำตรรกะกลับมาใช้ใหม่และการขยายที่สอดคล้องกันครับ/ค่ะ

#ลำดับชั้นของแนวคิด

ในเชิงแนวคิด ความสัมพันธ์เชิงนามธรรมหลักของ FlowModel มีดังนี้ครับ/ค่ะ

FlowModel
 └── FlowDefinition
      ├── FlowEventDefinition
      │     ├── เหตุการณ์ส่วนกลาง (Global Events)
      │     └── เหตุการณ์เฉพาะส่วน (Local Events)
      └── FlowActionDefinition
            ├── การดำเนินการส่วนกลาง (Global Actions)
            └── การดำเนินการเฉพาะส่วน (Local Actions)

#คำอธิบายลำดับชั้น

  • FlowModel
    หมายถึงเอนทิตีโมเดลที่มีตรรกะโฟลว์ที่สามารถกำหนดค่าและดำเนินการได้ครับ/ค่ะ

  • FlowDefinition
    กำหนดชุดตรรกะโฟลว์ที่สมบูรณ์ (รวมถึงเงื่อนไขการทริกเกอร์และขั้นตอนการดำเนินการ) ครับ/ค่ะ

  • FlowEventDefinition
    กำหนดแหล่งที่มาของการทริกเกอร์ของโฟลว์ ซึ่งรวมถึง:

    • เหตุการณ์ส่วนกลาง (Global events): เช่น การเริ่มต้นแอปพลิเคชัน การโหลดข้อมูลเสร็จสมบูรณ์ครับ/ค่ะ
    • เหตุการณ์เฉพาะส่วน (Local events): เช่น การเปลี่ยนแปลงฟิลด์ การคลิกปุ่มครับ/ค่ะ
  • FlowActionDefinition
    กำหนดการดำเนินการที่โฟลว์สามารถทำได้ ซึ่งรวมถึง:

    • การดำเนินการส่วนกลาง (Global actions): เช่น การรีเฟรชหน้า การแจ้งเตือนส่วนกลางครับ/ค่ะ
    • การดำเนินการเฉพาะส่วน (Local actions): เช่น การแก้ไขค่าฟิลด์ การสลับสถานะคอมโพเนนต์ครับ/ค่ะ

#สรุป

แนวคิดวัตถุประสงค์ขอบเขตการใช้งาน
โฟลว์แบบคงที่ (Static Flow)ตรรกะโฟลว์ที่กำหนดในโค้ดอินสแตนซ์ทั้งหมดของ XXModel
โฟลว์แบบไดนามิก (Dynamic Flow)ตรรกะโฟลว์ที่กำหนดบนอินเทอร์เฟซอินสแตนซ์ FlowModel เดียว
FlowEventกำหนดทริกเกอร์ (ว่าจะทริกเกอร์เมื่อใด)ส่วนกลางหรือเฉพาะส่วน
FlowActionกำหนดตรรกะการดำเนินการส่วนกลางหรือเฉพาะส่วน
กฎการเชื่อมโยง (Linkage Rule)การห่อหุ้มขั้นตอนของโฟลว์เหตุการณ์แบบง่ายระดับบล็อก, ระดับการดำเนินการ