Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon กรณีการใช้งานทั่วไปสำหรับการเชื่อมโยงข้อมูลครั้งเดียวใน mvvmcross คืออะไร


กรณีการใช้งานทั่วไปสำหรับการเชื่อมโยงข้อมูลครั้งเดียวใน mvvmcross คืออะไร


ใน MVVMCROSS การเชื่อมข้อมูลครั้งเดียวเป็นโหมดที่ข้อมูลถูกถ่ายโอนจาก ViewModel ไปยังมุมมองเพียงครั้งเดียวเมื่อมีการสร้างการเชื่อมโยง หลังจากการถ่ายโอนครั้งแรกนี้การเชื่อมโยงจะไม่ตรวจสอบการเปลี่ยนแปลงและไม่ดำเนินการอัปเดตใด ๆ เว้นแต่แหล่งที่มาของการเชื่อมโยงจะถูกรีเซ็ต นี่คือกรณีการใช้งานทั่วไปสำหรับการเชื่อมข้อมูลครั้งเดียว:

1. ข้อความแบบคงที่จากไฟล์ภาษา: การเชื่อมโยงครั้งเดียวมีประโยชน์อย่างยิ่งเมื่อตั้งค่าข้อความแบบคงที่จากไฟล์ภาษา เมื่อเลือกภาษาแล้วมันเป็นเรื่องผิดปกติที่ผู้ใช้จะเปลี่ยนดังนั้นจึงไม่จำเป็นต้องมีการอัปเดตอย่างต่อเนื่อง วิธีการนี้ช่วยในการรักษาการตั้งค่าที่สะอาดและมีประสิทธิภาพเนื่องจากหลีกเลี่ยงการตรวจสอบที่ไม่จำเป็นสำหรับการเปลี่ยนแปลงที่ไม่น่าจะเกิดขึ้น [2]

2. สามารถกำหนดค่าได้ แต่ไม่ค่อยมีการเปลี่ยนแปลงข้อมูล: สำหรับฟิลด์ที่กำหนดค่าได้ แต่ไม่มีแนวโน้มที่จะเปลี่ยนแปลงบ่อยครั้งหลังจากที่พวกเขาได้รับการตั้งค่าเริ่มต้นการผูกมัดครั้งเดียวจะเป็นประโยชน์ ซึ่งรวมถึงการตั้งค่าหรือข้อมูลที่ตั้งค่าระหว่างการเริ่มต้นและคงที่ตลอดเวลารันไทม์ของแอปพลิเคชัน

3. การเพิ่มประสิทธิภาพประสิทธิภาพ: ในขณะที่โดยทั่วไปไม่มีการลงโทษประสิทธิภาพสำหรับการใช้การผูกทางเดียวการผูกแบบครั้งเดียวสามารถเพิ่มประสิทธิภาพให้เหมาะสมโดยการกำจัดค่าใช้จ่ายที่อาจเกิดขึ้นที่เกี่ยวข้องกับการตรวจจับการเปลี่ยนแปลง สิ่งนี้สามารถเกี่ยวข้องโดยเฉพาะอย่างยิ่งในสถานการณ์ที่ข้อมูลเป็นที่รู้จักกันว่าคงที่และไม่ต้องการการอัปเดต

4. การลดการอัปเดตที่ไม่จำเป็น: ในกรณีที่ข้อมูลส่วนใหญ่คงที่และจำเป็นต้องแสดงเพียงครั้งเดียวโดยใช้การเชื่อมโยงครั้งเดียวจะป้องกันการอัปเดตที่ไม่จำเป็น สิ่งนี้สามารถช่วยในการลดค่าใช้จ่ายในการคำนวณที่เกี่ยวข้องกับการตรวจสอบการเปลี่ยนแปลงบ่อยครั้งโดยเฉพาะอย่างยิ่งในแอปพลิเคชันที่ซับซ้อนหรือมาก

5. การทำให้ตรรกะแบบมีเงื่อนไขง่ายขึ้น: โดยใช้การเชื่อมโยงครั้งเดียวสำหรับข้อมูลคงที่นักพัฒนาสามารถทำให้ตรรกะตามเงื่อนไขที่เกี่ยวข้องกับการจัดวางหน้าจอหรือการนำเสนอข้อมูลง่ายขึ้น สิ่งนี้ช่วยในการบำรุงรักษา codebase ที่สะอาดขึ้นโดยการแยกการจัดการข้อมูลแบบไดนามิกจากการแสดงข้อมูลแบบคงที่

โดยสรุปการเชื่อมโยงข้อมูลครั้งเดียวใน MVVMcross เหมาะสำหรับสถานการณ์ที่ข้อมูลมีการเปลี่ยนแปลงแบบคงที่หรือไม่ค่อยมีการเปลี่ยนแปลงทำให้สามารถนำเสนอข้อมูลที่มีประสิทธิภาพและตรงไปตรงมาโดยไม่ต้องมีค่าใช้จ่ายในการตรวจสอบการเปลี่ยนแปลงอย่างต่อเนื่อง

การอ้างอิง:
[1] https://blog.ostebaronen.dk/2018/01/mvvmcross-binding-target.html
[2] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[3] https://www.reddit.com/r/androiddev/comments/ux9379/what_are_the_use_cases_of_data_binding_and_when/when/
[4] https://www.mvvmcross.com/documentation/advanced/custom-data-binding
[5] https://stackoverflow.com/questions/48910503/binding-mode-onetime-in-mvxrecyclerview
[6] http://stackoverflow.com/questions/10700445/in-mvvmcross-how-do-i-do-custom .-bind-properties
[7] https://stackoverflow.com/questions/25460030/when-to-use-mvvmcross-data-bindings
[8] https://github.com/mvvmcross/mvvmcross/issues/421
[9] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross