في MVVMCROSS ، يتم استخدام كل من البيانات السويسرية والطلاء لتوصيل المشاهدات لعرض النماذج ، ولكنها تخدم أغراض مختلفة قليلاً ويفضلون في سيناريوهات مختلفة.
Swiss Databinding
يوفر Swiss DataBinging بناء جملة أكثر نظافة وأقل مطوّلة مقارنة بسلفه ، JSON Databinding. إنه مفيد بشكل خاص عندما تحتاج إلى تحديد الروابط بطريقة مباشرة ، وغالبًا ما تكون مباشرة في ملفات تخطيط XML. من السهل قراءة الروابط السويسرية والكتابة ، مما يجعلها مناسبة للروابط البسيطة والمباشرة حيث يجب أن يكون بناء الجملة موجزًا ومفهوماً.
يتم تفضيل أحد السيناريو المحدد حيث يمكن تفضيل ربط البيانات السويسرية عندما تحتاج إلى إعداد روابط بسرعة في ملفات XML ، وخاصة في الأنظمة الأساسية التي يتم فيها استخدام تخطيطات XML بشكل شائع وقابلة للتحرير بسهولة ، مثل Android. ومع ذلك ، لا يراقب تحديد البيانات السويسرية التغييرات بنشاط من نموذج العرض ما لم يتم إعادة تعيين مصدر الربط ، والذي يمكن أن يكون قيودًا في السيناريوهات التي تتطلب تحديثات في الوقت الفعلي.
DATABATING FLUENT
من ناحية أخرى ، يوفر ربط البيانات بطلاقة بناء جملة قائم على C#لإنشاء الارتباطات. يعد هذا النهج مفيدًا بشكل خاص في البيئات التي لا تكون فيها تخطيطات XML قابلة للحد من الإنسان بسهولة ، مثل iOS و MacOS. تتيح الارتباطات بطلاقة إعدادات الربط أكثر تعقيدًا وديناميكية ، مما يجعلها مثالية للسيناريوهات حيث تحتاج إلى معالجة الروابط برمجيًا أو التعامل مع منطق أكثر تعقيدًا.
يُفضل أن يكون ربط البيانات بطلاقة عندما تحتاج إلى إنشاء روابط برمجيًا ، والتي يمكن أن تكون أكثر مرونة وقوة ، خاصة في التطبيقات المعقدة أو عند العمل مع منصات لا تدعم تخطيطات XML بشكل فعال.
سيناريوهات التفضيل
- يفضل ربط البيانات السويسرية عندما:
-تحتاج إلى بناء جملة بسيط وسهل القراءة للربط ، وخاصة في ملفات XML.
- لا يتطلب التطبيق مراقبة مستمرة للتغييرات من نموذج العرض.
- أنت تعمل في بيئات يكون فيها تخطيطات XML قابلة للتحرير بسهولة.
- يفضل ربط البيانات بطلاقة عندما:
- تحتاج إلى إنشاء روابط برمجيًا ، مما يسمح بإعدادات أكثر ديناميكية ومعقدة.
- أنت تعمل على منصات حيث لا يمكن تحرير تخطيطات XML بسهولة ، مثل iOS.
- يتطلب التطبيق مزيدًا من التحكم في منطق الربط أو يحتاج إلى معالجة السيناريوهات المعقدة.
باختصار ، على الرغم من أن كل من بيانات البيانات السويسرية والطلاقة لها نقاط قوتها ، فإن الاختيار بينهما يعتمد على المتطلبات المحددة لتطبيقك ، بما في ذلك الحاجة إلى البساطة مقابل التعقيد ، والمنصة التي تقوم بتطويرها.
الاستشهادات:[1] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[2] https://crosscuttingconcerns.com/mvvmcross-fluent-databinding
[3] https://stackoverflow.com/questions/41462365/what-are-the-pros--cons-of-android-data-binding
[4] https://stackoverflow.com/questions/60500840/should-view-binding-replace-data-binding
[5] https://learn.microsoft.com/en-us/dotnet/desktop/wpf/data/؟view=netdesktop-9.0
[6]
[7]
[8]