0%
الحاسبة — الفصل 56

الفصل 56 — الحاسبة

الجزء 1C — ثمانية مشاريع مصغّرة · الفصل 56 من 62 · 12 ساعة

الفصل 56 — الحاسبة

المستوى: متوسط المدة المقدّرة: 12 ساعة المتطلبات المسبقة: الفصول 08 و09 و13 و16 (Dart) و45 و46 و48 و49 و51 (Flutter)، إضافةً إلى الفصل 55 (المشروع 1) ما ستتمكن من فعله في النهاية: كتابة تطبيق Flutter يكون جوهره المنطقي صنفًا Dart خالصًا مُختبَرًا بالاختبارات الوحدوية، وتكون واجهته مجرد طبقة عرض موصولة به.


56.0 — أهداف الفصل

في نهاية هذا الفصل ستكون قادرًا على:

  • تحويل دفتر الشروط إلى آلة حالات (automate) قبل كتابة أي سطر؛
  • عزل المنطق المهني في صنف Dart لا يحتوي على أي import 'package:flutter/...'؛
  • نمذجة إدخال الرقم خانةً بخانة، بما في ذلك الفاصل العشري؛
  • تسلسل العمليات كما في حاسبة جيب حقيقية، ومعالجة تكرار = وC وCE والإشارة والنسبة المئوية؛
  • إطلاق استثناء مهني (DivisionParZeroException) والتقاطه؛
  • تنسيق قيمة double لعرض مقروء للبشر: فاصل الآلاف، الفاصلة العشرية، الترميز العلمي؛
  • منع النص الطويل من تجاوز حدود الشاشة باستخدام FittedBox؛
  • بناء شبكة أزرار باستخدام Row وExpanded من دون GridView؛
  • كتابة عنصر واجهة (widget) لزر قابل لإعادة الاستخدام، مُعَدّ بواسطة enum ومُلوَّن عبر ColorScheme؛
  • إنتاج تأثير ضغط صحيح باستخدام Material + InkWell؛
  • ربط المنطق بالواجهة عبر setState واحد فقط، وعرض سجل العمليات في ListView؛
  • دعم لوحة المفاتيح الفعلية باستخدام KeyboardListener وLogicalKeyboardKey؛
  • كتابة الاختبارات الوحدوية للمنطق، القابلة للتنفيذ دون محاكي.

التعليقات

التعليقات مدعومة عبر GitHub Discussions

سجّل الدخول باستخدام GitHub للمشاركة في النقاش

تم نسخ الرابط!