GitHub العميل لالروبوت بنيت باستخدام نمط تصميم MVVM ، والبرمجة التفاعلية مع LiveData ، نمط مستودع ، مكتبة استمرار الغرفة.
الميزات: ترقيم الصفحات ، تخزين نتائج البحث وخيار لإضافة إشارات مرجعية.
يتم حزم رمز عن طريق ميزة. تحتوي حزمة البيانات على فئات نموذج قاعدة بيانات محلية ، ويتم استخدام خدمة الويب والمستودع كمصدر وحيد للحقيقة.
تحتوي حزمة واجهة المستخدم على رمز (الأنشطة) و VIEW MODEL (AndroidViewModel) لكل شاشة في التطبيق. لا تحتفظ VIEW MODEL بأي مراجع إلى VIEW أو فئات MODEL في حزمة البيانات بحيث تكون الكودات معيارية ومن السهل تغيير الشاشات وإضافة ميزات.
يستخدم LiveData للتواصل بين طبقات التطبيق. يتم نشر أي تغييرات في طبقة MODEL عبر LiveData إلى VIEW MODEL ثم إلى طبقة VIEW.
في فئة Utils هناك واجهة Configuretion في أي وقت يمكنك فيه تكوين مصطلح البحث الافتراضي ، والنتائج لكل صفحة ، والى متى يجب الاحتفاظ بالنتائج في ذاكرة التخزين المؤقت المحلية ، قبل محاولة التحديث بأخرى جديدة.
تحقق من التعليمات البرمجية المصدر في: https://github.com/giantturtle/RepoExplorerMVVM