4. الخلاصة
دعونا نلخص ما أردنا القيام به. أردنا إنشاء تطبيق ويب MVC ثلاثي الطبقات كما يلي:
![]() |
- كان النموذج موجودًا بالفعل. وقد استخدمته جميع الحلول الثلاثة المقترحة بشكل متطابق
- نظرًا للحفاظ الصارم على استقلالية الطبقات، كان من الممكن تنفيذ طبقة [الويب] بثلاث طرق مختلفة دون التأثير على النموذج. عملنا حصريًا ضمن طبقة [الويب].
- الحلول متشابهة. في حين أننا في الحل الأول كان لدينا سيرفلت واحد مع طريقة واحدة لكل إجراء يجب معالجته، في الحلين الآخرين لدينا أيضًا سيرفلت واحد ولكن مجرد من طرق معالجة الإجراءات، حيث تتم المعالجة الآن بواسطة فئات منفصلة. كان دور هذه الفئات مطابقًا لدور الطرق في الحل الأول.
- يتيح لنا استخدام [Spring] في هذا التطبيق اختيار الفئات التي تنفذ واجهات Java الخاصة بطبقتي [domain] و[dao]. ويمكن تغيير فئات التنفيذ هذه داخل الطبقة نفسها دون أن يؤثر ذلك على الطبقات الأخرى. سيكون من الضروري تغيير ملف تكوين Spring فقط. وبالتالي، يمكن معالجة طبقة [DAO]، التي يتم التعامل معها حاليًا بواسطة أداة [sqlMap]، بواسطة أداة [Hibernate]. سيؤثر هذا على طبقة [DAO] ولكنه لن يؤثر على طبقتي [Web] و[Domain].
