الفصل 57 — محوّل الوحدات
الجزء 1C — ثمانية مشاريع مصغّرة · الفصل 57 من 62 · 12 ساعة
الفصل 57 — محوّل الوحدات
المستوى: متوسط المدة التقديرية: 12 ساعة المتطلبات المسبقة: الفصل 56 — المشروع 2: الآلة الحاسبة ما ستتقنه في نهاية الفصل: بناء تطبيق كامل يعتمد على نموذج إدخال، وفصل منطق الأعمال القابل للاختبار عن واجهته بشكل سليم، وكتابة اختبارات الوحدة التي تثبت صحة حساباتك.
57.0 — أهداف الفصل
في نهاية هذا الفصل، ستكون قادرًا على:
- نمذجة مجال أعمال باستخدام
enumمُحسَّن وفئة قيمة؛ - شرح ما هي وحدة المحور (unité pivot) ولماذا تقسم العمل على مئة؛
- إثبات سبب أن درجة الحرارة لا يمكن تحويلها بمجرد معامل ضرب؛
- تعميم نموذج «المعامل» إلى نموذج «زوج من الدوال»؛
- كتابة دالة تحويل نقية، دون أي اعتماد على Flutter؛
- ربط
TextFieldبـTextEditingControllerوالاستجابة لكل ضغطة مفتاح؛ - حصر الإدخال في الأحرف الرقمية باستخدام
inputFormatters؛ - التمييز بين ما يقوم
inputFormatterبتصفيته وما تتحقق منهdouble.tryParse؛ - التعامل مع الفاصلة العشرية الفرنسية ومسافات التجميع؛
- بناء
DropdownButton<Unite>اثنين متزامنين؛ - تصفية قائمة الوحدات بحسب الفئة المختارة باستخدام
where؛ - عكس الوحدة المصدر والوحدة الهدف في استدعاء واحد لـ
setState؛ - التحويل الفوري عبر
onChangedدون زر «احسب»؛ - تنسيق نتيجة مقروءة باستخدام
NumberFormatمن حزمةintl؛ - اختيار عدد منازل عشرية يناسب رتبة مقدار النتيجة؛
- التحويل إلى الصيغة العلمية للأعداد الكبيرة جدًا أو الصغيرة جدًا؛
- تنظيم ست فئات في تبويبات باستخدام
TabControllerوTabBarView؛ - الحفاظ على حالة كل تبويب باستخدام
AutomaticKeepAliveClientMixin؛ - الاحتفاظ بسجل للتحويلات المعتمدة؛
- حفظ آخر اختيار للمستخدم باستخدام
shared_preferences؛ - كتابة مجموعة من اختبارات الوحدة تتحقق من كل عائلة من التحويلات.
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش