السلام عليكم و رحمة الله و بركاته,
منذ فترة و أنا أتكاسل عن قراءة المقالات الجديدة, و يبدو أن الملل أصاب أناملي أيضاً, لذلك سنبدأ بإذن الله ببناء أولى برامجنا الجماعية.
في الحقيقة أن هذا الموضوع هو الحلقة الثالثة من سلسلة دروس تطبيقية على مستوى الـ Bit الذي تأجل طرحه فترة طويلة,
ليس لشيء إلا لأنني تكاسلت عن إعداده أولاً, و لأنني احترت في اختيار تطبيق كمشروع عملي لتلك السلسة,
كنت أفكر في شرح كيفية التشفير باستخدام المعامل XOR, و لكنني علمت أن الملل أصابني فما بالك بالقارئ الكريم!
موضوعنا هذا هو محاولة لبناء تطبيق متكامل, بالطبع برنامجنا عبارة عن برنامج تشفير للبيانات, خوارزمية التشفير بسيطة جداً و ربما كانت بضعة أسطر من الكود!
مع ذلك فإنه من المستحيل كسرها!
هذا المشروع ليس موجها حقيقة لبناء برنامج تشفير بحد ذاته, و لكننا سنوجه اهتمامنا على كيفية بناء تطبيق كامل حتى ولو كان بسيط الواجهة!
لن نستخدم مفاهيم البرمجة الكائنية على الإطلاق, لأنه باعتقادي أن مشروعاً مثل هذا لا يستدعي كل ذلك القلق من أجل بناء صنف class يعتمد عليه !!
مشروعنا ينقسم لطبقتين :
الطبقة الأولى (قلب البرنامج) : هي عبارة عن الدوال التي ستستخدمها الواجهة لإتمام عملية التشفير.
الطبقة الثانية(الواجهة) : هي شاشة البرنامج, أو الواجهة التي سيتعامل معها المستخدم.
قبل أن أبدأ لا بد أن أذكر أن بناء تطبيق متكامل ليس بتلك البساطة, صحيح أن أجزاء برنامجنا صغيرة و معدودة, و لكن ضمان عمل تلك المكونات مع بعضها البعض يحتاج جهداً و مناقشة,
ربما كانت أهم المسائل التي سنتعرض لها, هي ثلاث مسائل :
أولاً, كيفية تصميم قلب البرنامج, لكي يكون مرناً, و ذو كفائة عالية, ببساطة أكثر, كيفية اختيار وظائف الدوال, و الطريقة الأمثل لكتابتها.
ثانياً, كيفية تصميم الواجهة, سنستخدم الـ Command Line أو ما يسمى بالـ Console لعرض الخيارات للمستخدم, حتى لا نجبر على الدخول في تفاصيل الواجهات الرسومية تحت windows.
ثالثاً و ربما كان الأهم!, كيفية استخدام أصناف مكتوبة عن طريق مبرمجين آخرين, و كيفية اختيارها, و ماهو مقاس برنامجنا المناسب!
سنستخدم مكتبتين, الأولى لتحسين شكل الواجهة, و الثانية لتنفيذ وظيفة تحتاج الكثير من العمل لو أردنا كتابتها بأنفسنا, بالطبع كل هذا للتركيز على عمل البرنامج الأساسي, و لكي نتعلم معاً كيف يمكن التعامل مع المبرمجين الآخرين قبل التعامل مع أنفسنا
أعلم أنكم لم تعرفوا ماهو البرنامج أصلاً, إنما كان الذي في الأعلى عبارة عن نظرة أولية عليه, و هذا هو المطلوب حالياً,
سأكون بعد إذنكم مدير المشروع -_- أي ان الأجزاء التي سوف أطرحها تباعاً سيتم مناقشتها تباعاً,
انتهيت حقيقة من وضع مخطط لهذا المشروع البسيط, و سنسير بإذن الله على ذلك المخطط حتى نخرج ببرنامجنا في المستقبل القريب إن شاء الله.
في المشاركة القادمة سوف أطرح قواعداً عامة للمشاركة, إضافة إلى تنسيق الأكواد المطلوب اتباعه خلال عملية المناقشة,
في المشاركة التي تليها, سوف أطرح فكرة البرنامج العامة, إضافة للاجزاء الرئيسية فيه أو الوظائف المطلوبة.
حتى ذلك الحين, نستودعم الله الذي لا تضيع ودائعه, و نلقاكم عن في القريب العاجل.