Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon MVVMCROSS สามารถรวมเข้ากับเฟรมเวิร์กหรือห้องสมุดอื่น ๆ ได้


MVVMCROSS สามารถรวมเข้ากับเฟรมเวิร์กหรือห้องสมุดอื่น ๆ ได้


MVVMCROSS เป็นกรอบ MVVM ที่หลากหลายและขยายได้ซึ่งออกแบบมาสำหรับการพัฒนาข้ามแพลตฟอร์มโดยเฉพาะอย่างยิ่งภายในระบบนิเวศ. NET รองรับแพลตฟอร์มที่หลากหลายรวมถึง Xamarin.ios, Xamarin.android, Xamarin.forms, Universal Windows Platform (UWP) และ Windows Presentation Framework (WPF) [1] [2] [4] หนึ่งในคุณสมบัติที่สำคัญของ MVVMcross คือความสามารถในการรวมเข้ากับกรอบและห้องสมุดอื่น ๆ เพิ่มยูทิลิตี้ในการพัฒนาแอปพลิเคชันที่ซับซ้อน

การรวมเข้ากับเฟรมเวิร์กอื่น ๆ

1. การรวม CSLA.NET: MVVMCROSS สามารถใช้ร่วมกับ CSLA.NET ซึ่งเป็นกรอบวัตถุธุรกิจ ในขณะที่ CSLA.NET มุ่งเน้นไปที่ตรรกะทางธุรกิจและการสร้างแบบจำลองข้อมูล MVVMCROSS จัดการตรรกะ UI และระดับแอปพลิเคชัน นักพัฒนาสามารถใช้ประโยชน์จากกรอบวัตถุธุรกิจของ CSLA.NET โดยสืบทอดจาก 'ViewModelBase' ของ CSLA และการใช้ข้อกำหนดของ MVVMCROSS การรวมนี้ช่วยให้การแบ่งปันรหัสผ่านแพลตฟอร์มในขณะที่ยังคงแยกข้อกังวลที่ชัดเจน [5]

2. การรวมกันของ ReactiveUI: แม้ว่า MVVMCROSS และ ReactiveUI เป็นทั้งกรอบ MVVM แต่ก็มีจุดประสงค์ที่แตกต่างกัน MVVMCROSS ให้ความสำคัญกับแอปพลิเคชันมือถือดั้งเดิมและการแบ่งปันรหัสในขณะที่ ReactiveUI เน้นการเขียนโปรแกรมปฏิกิริยาโดยใช้ Extensions Reactive (RX) ในขณะที่พวกเขาสามารถอยู่ร่วมกันได้ แต่โดยทั่วไปจะใช้สำหรับการพัฒนาแอปพลิเคชันด้านต่าง ๆ MVVMCROSS จัดเตรียมชุดคุณสมบัติที่ครอบคลุมสำหรับการพัฒนา UI ในขณะที่ ReactiveUI เหมาะสำหรับแอปพลิเคชันที่ต้องใช้การดำเนินงานแบบอะซิงโครนัสขั้นสูง [7]

3. Xamarin.Forms และ UI Frameworks อื่น ๆ : MVVMCROSS รองรับการรวมเข้ากับ Xamarin.Forms ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันข้ามแพลตฟอร์มด้วยตรรกะทางธุรกิจที่ใช้ร่วมกัน นอกจากนี้ยังทำงานได้ดีกับเฟรมเวิร์ก UI อื่น ๆ เช่น Maui และ WPF ซึ่งให้ความยืดหยุ่นในการเลือกเลเยอร์ UI [3] [7]

4. เฟรมเวิร์กปลั๊กอิน: MVVMCROSS รวมถึงเฟรมเวิร์กปลั๊กอินที่ช่วยให้นักพัฒนาสามารถขยายการทำงานได้โดยการเพิ่มปลั๊กอินของบุคคลที่สามสำหรับคุณสมบัติเช่นตำแหน่ง GPS การแปลและส่วนขยายที่มีผลผูกพัน การขยายเวลานี้ช่วยให้นักพัฒนาสามารถปรับแต่งกรอบงานตามความต้องการของโครงการ [1] [2]

คุณสมบัติคีย์ที่อำนวยความสะดวกในการรวมเข้าด้วยกัน

- การผกผันของการควบคุม (IOC) และการฉีดพึ่งพา: MVVMCROSS จัดเตรียมคอนเทนเนอร์ IOC ที่อำนวยความสะดวกในการฉีดพึ่งพาทำให้ง่ายต่อการรวมเข้ากับกรอบอื่น ๆ โดยการจัดการการพึ่งพาและบริการทั่วทั้งแอปพลิเคชัน [1] [4]

- เอ็นจิ้นการเชื่อมโยงที่ปรับแต่งได้: เฟรมเวิร์กช่วยให้นักพัฒนาสามารถสร้างการเชื่อมโยงที่กำหนดเองสำหรับมุมมองของพวกเขาซึ่งจะมีประโยชน์เมื่อรวมเข้ากับส่วนประกอบ UI หรือเฟรมเวิร์กอื่น ๆ ที่ต้องใช้กลไกการเชื่อมโยงข้อมูลเฉพาะ [1] [2]

- ViewModel to ViewModel Navigation: คุณสมบัตินี้ช่วยจัดการตรรกะการนำทางซึ่งสามารถรวมเข้ากับรูปแบบการนำทางของเฟรมเวิร์กอื่น ๆ เพื่อให้แน่ใจว่าประสบการณ์ผู้ใช้ที่สอดคล้องกันในแพลตฟอร์มที่แตกต่างกัน [1] [2]

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

การอ้างอิง:
[1] https://github.com/mvvmcross/mvvmcross
[2] https://dotnet.libhunt.com/mvvmcross-alternatives
[3] https://visualstudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx
[4] https://www.mvvmcross.com/documentation/getting-started/getting-started
[5] https://stackoverflow.com/questions/17373587/how-well-would-mvvmcross-and-csla-net-work-work-together-in-a-multi-platform-strategy
[6] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[7] https://www.reactiveui.net/vs/mvvmcross
[8] https://www.mvvmcross.com
[9] https://github.com/rogerwcpt/xamarin-mvvvm-frameworks