Forwarded from هندسة قواعد البيانات | امن سبراني وحاسوب
تطبيق واقعي لمفاهيم abstraction and polymorphism
تعال اذكرك بشيء انت سبق لك التعامل معه،
المجلدات
والملفات: ملفات نصية، ورد، اكسل وغيرها..
وطبعا تقدر تسوي للمجلد:
انشاء
حذف
تسمية
نقل
نسخ
عرض التفاصيل،
وكذلك اي ملف تقدر تسوي له:
انشاء
حذف
تسمية
نقل
نسخ
عرض التفاصيل،
لكن لو تركز معي، هل الطريقة مختلفة اللي تسوي به حذف لملف وحذف لمجلد؟ طبعا لا ولا يوجد اي اختلاف اتعامل معهم بنفس الطريقة وليس بطريقة مختلفة... هذا هو جوهر الabstraction
طيب لو جينا الان نشتي نطبق التجريد، بالبرمجة الكائنية معانا الpolymorphism
طيب ليش تعدد الاشكال؟ بقلك التجريد يقول اتعامل مع اشياء تنتمي لنفس العائلة بنفس الطريقة..
لكن لو قلت لك لمن تضغط حذف لمجلد، هل هي نفس الخطوات اللي لو كان الحذف على ملف؟ اكيد مختلف،
وبما انه مختلف السلوك، ومشترك بالهدف، فاختلاف السلوك يخلينا بحاجه لpolymorphism بحيث كل كائن يعيد ويطبق السلوك الذي يتناسب معه....
تمرين:
اذهب الى ويندوز واضغط خصائص على مجلد، او ملف اي ملف، ستجد ان فيه عمليات مشتركة:
فتح
حذف
اعادة تسميه
نقل
نسخ
عرض التفاصيل
انشاء ملف او مجلد ،
المطلوب تصميم كلاس اب، يورث لكلاس مجلد، وكلاس ملف،بحيث يحتوي على الدوال المشتركة، ويتم عمل لها overriding حسب الكلاس الابن..
كلاهما يشتركان بنفس الوظائف والصفات ايضا،
ونحن نتعامل مع الملف والمجلد بنفس الطريقة مافيش اي شيء مختلف سواء لو نشتي نحذف، او نغير الاسم، او نقل او نسخ، او عرض التفاصيل كلها تتعامل معها بطريقة موحدة، لكن يختلف التنفيذ لكل عملية سحب هل الكائن مجلد، ام ملف وهكذا....
تعال اذكرك بشيء انت سبق لك التعامل معه،
المجلدات
والملفات: ملفات نصية، ورد، اكسل وغيرها..
وطبعا تقدر تسوي للمجلد:
انشاء
حذف
تسمية
نقل
نسخ
عرض التفاصيل،
وكذلك اي ملف تقدر تسوي له:
انشاء
حذف
تسمية
نقل
نسخ
عرض التفاصيل،
لكن لو تركز معي، هل الطريقة مختلفة اللي تسوي به حذف لملف وحذف لمجلد؟ طبعا لا ولا يوجد اي اختلاف اتعامل معهم بنفس الطريقة وليس بطريقة مختلفة... هذا هو جوهر الabstraction
طيب لو جينا الان نشتي نطبق التجريد، بالبرمجة الكائنية معانا الpolymorphism
طيب ليش تعدد الاشكال؟ بقلك التجريد يقول اتعامل مع اشياء تنتمي لنفس العائلة بنفس الطريقة..
لكن لو قلت لك لمن تضغط حذف لمجلد، هل هي نفس الخطوات اللي لو كان الحذف على ملف؟ اكيد مختلف،
وبما انه مختلف السلوك، ومشترك بالهدف، فاختلاف السلوك يخلينا بحاجه لpolymorphism بحيث كل كائن يعيد ويطبق السلوك الذي يتناسب معه....
تمرين:
اذهب الى ويندوز واضغط خصائص على مجلد، او ملف اي ملف، ستجد ان فيه عمليات مشتركة:
فتح
حذف
اعادة تسميه
نقل
نسخ
عرض التفاصيل
انشاء ملف او مجلد ،
المطلوب تصميم كلاس اب، يورث لكلاس مجلد، وكلاس ملف،بحيث يحتوي على الدوال المشتركة، ويتم عمل لها overriding حسب الكلاس الابن..
كلاهما يشتركان بنفس الوظائف والصفات ايضا،
ونحن نتعامل مع الملف والمجلد بنفس الطريقة مافيش اي شيء مختلف سواء لو نشتي نحذف، او نغير الاسم، او نقل او نسخ، او عرض التفاصيل كلها تتعامل معها بطريقة موحدة، لكن يختلف التنفيذ لكل عملية سحب هل الكائن مجلد، ام ملف وهكذا....
Forwarded from Hussein
فرصة ذهبية متاحة للتقديم على موقع Yemen HR
https://yemenhr.com/jobs/backend-developer-qasemi-islamic-bank-sanaa-8b770764
مشاركة طيبة من الأخ والزميل أسامة الأسد بارك الله فيه🖤✨
https://yemenhr.com/jobs/backend-developer-qasemi-islamic-bank-sanaa-8b770764
مشاركة طيبة من الأخ والزميل أسامة الأسد بارك الله فيه🖤✨
Yemenhr
Backend Developer at Qasemi Islamic Bank | Yemen HR
Apply for Backend Developer at Qasemi Islamic Bank in Sana'a. Application deadline: 13 Jul, 26. Find details and how to apply on Yemen HR.
Forwarded from ن
التحليل من تحلل الشيء إذا تفسَّخت أجزاؤُه وانفصلت عناصرُه بعضُها عن بعض، وهذا الفصل مهم لأنه يصعب فهم الشيء أو المشكلة دفعة واحدة (والبرنامج كلما كبر زاد تعقيده حتى يستحيل على العقل أن يتصوره في ذهنه كاملا)، وعليك رد الشيء إلى عناصره ثم البحث في العلائق الرابطة بين هذه الأجزاء حتى تكون الصورة واضحة
وهو مهم لأن الحكم على الشيء فرع من تصوره كما يقول المناطقة، وقبل حل المشكلة عليك فهمها، فلا يعقل أن تبرمج للعميل برنامجاً لا تفهمه، فالتحليل هو الباب للفهم، والفهم أول الخطوات لحل المشكلة، وفهم المشكلة هي أول خطوة وضعها عالم الرياضيات جورج بوليا في كتابه How to Solve it
وهو مهم لأن الحكم على الشيء فرع من تصوره كما يقول المناطقة، وقبل حل المشكلة عليك فهمها، فلا يعقل أن تبرمج للعميل برنامجاً لا تفهمه، فالتحليل هو الباب للفهم، والفهم أول الخطوات لحل المشكلة، وفهم المشكلة هي أول خطوة وضعها عالم الرياضيات جورج بوليا في كتابه How to Solve it
Forwarded from Abdulrahman
وإذا فُهمت المشكلة بشكل خاطئ أو ناقص من البداية، فإن التصميم كله يُبنى على أساس خاطئ، وكل قرار لاحق (قاعدة البيانات، الواجهات، البنية) يرث هذا الانحراف. وقد يكتشف الفريق الانحراف غالبًا في مرحلة متأخرة حين تكون تكلفة التصحيح مرتفعة