سؤال

أعرف بعض أطر عمل MVVM التي قدمت في هذه مسلك

يرجى وصف أو تعطيني رابطًا لذلك ما هو مفيد؟ لا معلومات حول MVVM حول إطار MVVM. شكرا :) أريد أن أعرف: ما هو إطار عمل MVVM؟

هل كانت مفيدة؟

المحلول

أعتقد أن سؤالك ليس دقيقًا حقًا. بقدر ما أفهم ، أنت تطلب ميزات كل إطار؟!

يمكنك العثور على معلومات مفصلة هنا و هنا. ومع ذلك ، فقد تم تقديم واحد على الأقل من هذه الروابط في الموضوع الذي ذكرته ...

تعديل:
في الأساس ، يكون إطار عمل MVVM عبارة عن مجموعة من الفئات التي تستخدم عادة في التطبيقات التي تستخدم نمط MVVM (موديل-View-Viewmodel). قد يشمل ذلك أنظمة المراسلة للتواصل بين الأجزاء المستقلة من البرامج ، وتقنيات حقن التبعية ، والفئات الأساسية لفيلم ViewModels ، وقوالب المشروع/الفئة ، وآليات التحقق من الصحة ، والأوامر الشائعة الاستخدام ، وتقنيات عرض مربعات الحوار ، وما إلى ذلك ...

لفهم مثل هذا الإطار تمامًا ، سيتعين عليك فهم نمط MVVM أولاً. لأنه عندها فقط (أو حتى فقط بعد أن قمت بمشروع MVVM الأول) ، سيكون لديك فهم للمشاكل و/أو تحديات هذا النمط.

نصائح أخرى

لاستخدام إطار عمل MVVM ، ما عليك سوى اتباع الخطوات أدناه:

  1. لديك نموذج ونموذج عرض مع نفس الاسم.

ليس من المفترض أن تكون نماذج العرض مغلفة حول النماذج. تتمثل مهمة نموذج العرض في التوسط في طلبات الخدمات الخارجية مثل تحميل البيانات وحفظها. يجب أن تكون البيانات نفسها ، وكذلك التحقق من الصحة ومعظم منطق العمل ، في النماذج.

لا يمكنني التأكيد على هذا بما فيه الكفاية. كلما قمت بإنشاء نموذج عرض يلف نموذجًا عن طريق التفويض ، فإنك تقدم ثقبًا كبيرًا في واجهة برمجة التطبيقات الخاصة بك. على وجه الخصوص ، يمكن لأي شيء مع إشارة مباشرة إلى النموذج تغيير خاصية بطريقة تجعل نموذج العرض وبالتالي واجهة المستخدم يتم إخطاره أبدًا. وبالمثل ، لن يتم نشر أي تغييرات على الحقول المحسوبة في النموذج إلى نموذج العرض.

  1. لديك عرض ونموذج عرض مع نفس الاسم.

من الناحية المثالية ، فإن نموذج العرض لاأدري للشاشات التي يتم استخدامها بواسطة. هذا صحيح بشكل خاص في تطبيق WPF حيث قد تشارك Windows متعددة نفس مثيل نموذج العرض.

بالنسبة للتطبيقات الأصغر التي قد تحتاج فقط إلى نموذج عرض واحد للتطبيق بأكمله. للتطبيقات الكبيرة ، قد تحتاج إلى واحدة للوظائف الرئيسية وواحدة لكل جانب ثانوي مثل إدارة التكوين.

  1. ليس لديك رمز وراء.

في الشروط المطلقة الكود الخلف ليس شيئًا جيدًا ولا سيئًا. إنه مجرد مكان لوضع المنطق الخاص بعرض أو تحكم واحد. لذلك عندما أرى طريقة عرض بدون أي رمز على الإطلاق ، أتحقق من الأخطاء التالية على الفور:

  • هل تلمس طراز العرض عناصر تحكم محددة بالاسم؟
  • هل يتم منح نموذج العرض الوصول إلى عناصر التحكم عبر معلمة أمر؟
  • هل يتم استخدام EventToCommand أو سلوك تسرب آخر بدلاً من معالج الأحداث البسيط؟

يعد EventTocommand من MVVM Light سيئًا بشكل خاص لأنه سيمنع عناصر التحكم من جمع القمامة بعد إزالتها من الشاشة.

  1. تستمع نماذج العرض إلى الإخطارات التي تم تغييرها للممتلكات

إذا كان لدى النموذج فترة حياة أطول ، فإن نموذج العرض الذي يستمع إلى أحداثه ، فمن المحتمل أن يكون لديك تسرب ذاكرة. على عكس المشاهدات التي لها حدث تفريغ ، لا تتمتع بنماذج العرض بقصة جيدة لإدارة دورة الحياة. لذلك إذا قاموا بتوصيل حدث بنموذج قد يتفوق عليها ، فسيتم تسريب نموذج العرض.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top