Design Patterns في JSP

يوجد في كتابة تطبيق الويب بالجافا طريقتين لكتابة الكود أو بالأحرى نموذجين سوف أتكلم عنهم بإيجاز



يوجد في كتابة تطبيق الويب بالجافا طريقتين لكتابة الكود أو بالأحرى نموذجين سوف أتكلم عنهم بإيجاز:
MODEL1:


هذا النموذج هو سهل جدا ولا يحتاج إلى جهد كبيرا وفكرة هي أنك تضع جميع ماتحتاجه في صفحة أل JSP يعني تكون الصفحة فيها أوامر جافا + HTML وهذا كما قلت سهل لذلك من الممكن بناء تطبيقات صغيرة بهذا النموذج لأنه كما قلت سهل + لا يحتاج إلى وقت وجهد كبير.
MODEL 2:



 هذا النموذج كثيرا ما يرمز له MVC وهي اختصار  لمكوناته وهي :
1-MODEL وهذا هو عبارة عن كلاسات جافا يوضع فيها المعالجة المنطقية( يعني ماتحتاجه من الجافا من اتصال بقاعدة البيانات وعمليات الاضافه والحذف باختصار يعني عمل تطبيقك).
2-Control: باختصار هو المسئول عن اختيار الموديل المناسب لصفحه معينه فهو عبارة عن منظم أو مسيطر لان أل request تمر علية أولا ثم الموديل ثم الصفحة( View).
3-View: وهي عبارة عن صفحة العرض أي صفحة إل JSP.


س/أي أحسن موديل 1 أو 2 ؟
ج/علشان نجاوب هذا السؤال لابد أن نعلم ماهي مزايا كل طرف وعيوبه فأكثر مايميز موديل 2 هو انه يفصل تماما العرض Presentation عن منطق العمل business logic وهذه الميزة مهمة جدا ليش؟
اذكر أنني سويت مشروع  تخرجي بموديل 1 وبعد ماسو يته واكتمل وأحاول اقرأ بعض الصفحات وإذا هي طويلة جدا وغير مفهومه لأنك تلقى كود جافا مع كود HTML + JSP فبالتالي تدوخ زى ماقال اخوي صلاح ولا تفهم شي أيضا تجد انك كثيرا ماتكرر الكود في أكثر من صفحة وأيضا عندما تحاول انك تقسم الشغل إذا كنتم فريق ماتقدر لان تحس انك ضايع مافيه أي ترتيب لذلك بالطبع عند بناء التطبيقات إلي عليها الكلام في نظري لابد من استخدام موديل 2 للأسباب التالية:
1-سهوله تقسيم العمل اذا كنت فريق فتخلي مثلا محترفين الجافا يمسكون الموديل والي عندهم إبداع في HTML  و التصميم  يأخذون  View ويبدعون فيه لأنك صعب تلقى شخص محترف في جميع الأشياء.
2-سهوله الصيانة مستقبلا وصدقوني هذا مهمة جدا لأنك إذا حطيت عباس على دباس ماتقدر بعدين تفهم شي وهذه مجربه صدقوني.
3-الميزة هذه تأتي من أل control طبعا كان أل control يبنى باستخدام أل Servlets ولكن بعد ظهور أل Filters في أل Servlets 2.3 صار هو الأنسب للاستخدام لأسباب كثيرة سوف نتطرق لها بإذن الله عندما نسولف عن أل filters وكيف انه ممكن تبني كثيرا من الطبقات لل logging,security,error handling وأي شي ممكن يستخدم في أل filters.
طبعا من عيوب أل موديل 2 أنه يحتاج إلى وقت وجهد أكبر بكل تأكيد ولكن إذا تعبت في الأول ترتاح بعدين.

من الموسوعة العربية للكمبيوتر

Share |

معلومات إضافية