![]() |
|
ثقافة برمجية(3) : مبادئ solid في تصميم البرامج (1) - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : الاقسام الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=74) +--- قسم : قسم المقالات العام (http://vb4arb.com/vb/forumdisplay.php?fid=85) +--- الموضوع : ثقافة برمجية(3) : مبادئ solid في تصميم البرامج (1) (/showthread.php?tid=9902) |
ثقافة برمجية(3) : مبادئ solid في تصميم البرامج (1) - أبو يعقوب - 02-08-13 السلام عليكم هناك مبادئ تخص هندسة البرامج، مجموعة كلها في الاختصار : SOLID موجودة على ويكيبيديا وساشرحها باختصار وبقدر فهمي في عدة أجزاء الحرف الاول من كلمة SOLID وهو S يشير إلى الاختصار SRP = Single responsibility principle أي المسئولية الوحيدة هذا المبدأ ينص على أن الفئة\الكلاس يجب ان تكون لديه مسئولية واحدة فقط، كيف ؟ لو كان لدينا فئة تمثل بيانات شخص Person فإنه من المحرمات الكبرى حسب مبدأ SRP أن نضع داخل الفئة مسئوليات أخرى غير احتوائها لبيانات الشخص مسئوليات مثل ماذا؟ ،،،، مثلا لو أردنا حفظ بيانات شخص في قاعدة البيانات ، إياك ان تحفظه من خلال الفئة نفسها،، ما العمل إذاً ؟ لنشرح المثال السابق : فئة Person PHP كود : Public Class PersonPHP كود : Public Class PersonPHP كود : Public Class PersonDataالسؤال الذي يحوم في ذهن القارئ [/COLOR]، لماذا لا اختصر الموضوع واجعلهم في فئة واحدة ؟؟؟ (وهذا ما كنت أؤمن به سابقاً ولكني كفرت به) والجواب يا عزيزي تحصل عليه إذا سألناك : ماذا لو أردنا حفظ البيانات في ملف xml أو ملف نصي ؟ هل نقوم كل مرة باشتقاق الفئة ؟ أو نضيف وسيط داخل Save ونحدد له أين نريد الحفظ ؟ أليس الأمثل أن نترك الأمر إلى فئة أخرى لتحفظه أين شائت ؟ وبذلك نزيل التعقيد من الفئة Person لتبقى مسئوليتها الوحيدة فقط هي تمثيل بيانات أي شخص عادةً يسمون الفئات التي تحفظ البيانات بـ Reposirotry بمعنى مستودع (فيه مجموعة أكواد قراءة وكتابة بيانات من وإلى جدول معين) RE: ثقافة برمجية(3) : مبادئ solid في تصميم البرامج (1) - Anas Mahmoud - 20-11-20 موضوع هام جدا |