بسم الله الرحمن الرحيم
قبل الدخول في الموضوع دعني أطلب منك أن تنظر في ساعتك وتحدد الوقت (في حالة أنك لا تملك ساعه لا داعي للحزن , ولكن يبقي لك أن تتخيل معي)
دعني أسئلك الأن كيف تمكنت من تحديد الوقت ؟
ربما سوف تقول أن من صمم هذه الساعة قام بتوفير واجهه (Interface) لرؤيه الوقت من خلال عقارب الساعه أو من خلال شاشه رقميه
ولكن ألا تعتقد أن ما تراه من عقارب للساعه أو الشاشه الرقميه ما هو إلا وسيله عرض فقط , تختلف هذه الواجهه من مصمم ساعات إلي أخر
و قد تم إخفاء الجزء المسئول عن إجراء العمليات الحسابيه المسئوله عن تحديد الوقت عن عين صاحب الساعه.
ربما تظنوا أني أقوم بعمل دعايه لشراء الساعات , ولكن هذا غير صحيح ولكن كل ماا أهدف له
أن نحاول أن نفكر في تصميم البرامج كما فكر مصمم الساعات , ولكن كيف ؟
بكل بساطه سوف نقوم بتقسيم عمل البرنامج إلي جزئين
1- جزء للواجهه الخاصه بعرض البرنامج ( كما كان الحال في واجهة الساعه )
2- و جزء أخر خاص بالعمليات التي تتم من خلال البرنامج وهذا الجزء عادة ما يطلق عليه Business Objects
وهو يختص بتوفير الوظائف التي تتم من خلال البرنامج.
ودعنا نضرب مثال يوضح الأمر :
تخيل أنك قد كلفت ببرمجة صفحة تسجيل دخول للأعضاء (login page)
ربما سوف تقوم بإنشاء ملف واحد باسم login.php وسوف تدرج تصميم الصفحه والكود الخاص بتسجيل الدخول داخل هذه الصفحه
ولكن لاحظ أنك بهذا الإسلوب قد قمت بمزج التصميم (واجهة الساعه) مع الوظائف الخاصه للتأكد من صحة بيانات تسجيل الدخول (اسم المستخدم وكلمة المرور)
وهذا الأسلوب فعلا مستخدم بشكل كبير , ولكنه يفتقر إلي التالي :
- سهولة إجراء تطوير وصيانة البرنامج
- سهولة التعامل بين فريق العمل بالمشروع
- سهولة التعامل بهذا الإسلوب في إدارة المشاريع المتوسطه والكبيره
ولكن يفضل في مثل الحالات السابقه اللجوء إلي تطبيق فكر مكتبات التنفيذ Business Objects
دعنا الأن نقوم ببرمجة صفحة تسجيل الدخول بهذا المفهوم كما يلي :
سوف نقوم بتقسيم هذه الصفحه إلي جزئين
1- جزء كواجهه للعرض وهي عباره عن صفحة تسجيل الدخول (login.php)
2- وجزء أخر (business object) يحتوي علي الوظائف الخاصه للقيام بعملية تسجيل الدخول
وتختلف طريقة بناء هذا الجزء من مبرمج إلي أخر
وللحديث بقيه ....
والسلام عليكم ورحمة الله
