عبدالله الناصري نشر 21 يونيو 2017 أرسل تقرير نشر 21 يونيو 2017 السلام عليكم ما الفرق بين تقنيات OOP و Data Access Layer و MVC في ASP.NET ?? وهل هناك فرق فعلا وماهو؟ شكر الله لكم اقتباس
0 طارق جهاد نشر 21 يونيو 2017 أرسل تقرير نشر 21 يونيو 2017 وعليكم السلام ورحمة الله. الفروق كثيرة بسبب اختلاف مكان كل منها من حيث المفاهيم والاستخدام. OOP: مفهوم البرمجة الكائنية، عبارة عن مفاهيم عامة في طريقة تمثيل البيانات، وارتباطها مع بعضها البعض. عملية انشاء كلاس هي العملية الاساسية في OOP. Data Access Layer: المقصود بها فصل العمليات المتعلقة بالتواصل مع قاعدة البيانات (عمليات القراءة والتعديل والحذف وغيرها)، ووضعها في طبقة مستقلة، خلافات لبعض التطبيقات التي يتم دمج كود الاتصال مع قاعدة البيانات مع كود الواجهات، وهو ما يصعب عملية التطوير واكتشاف الاخطاء. MVC: نمط تصميم غير مرتبط ب ASP.NET فقط، بل موجود بكل التقنيات (مثل PHP وحتى Android)، لكن ضمن بيئة ASP.NET فيعتبر بديل ب Web Forms، وهو نمط جميل في تطوير تطبيقات الويب على ASP.NET MVC، ويقوم على فصل التطبيق إلى ثلاث اقسام رئيسية. Model: وهو يمثل هيكيلة البيانات وطبقة Data Access Layer، وما يسمى ب Business Logic، فهو بالتالي غير مرتبط بنوع تطبيقك سواء كان ويب او غيره. View: عبارة عن ألية العرض ل Model، بحيث نقوم بتمرير Model ل View معينة لتقوم بدروها بتوليد HTML المناسب، والذي سيتم ارسالة لاحقا للمستخدم. Controller: هو الرابط بين Model و View، فهوم يقوم بتلقي الطلبات من المستخدم (مثل طلب عنوان ويب معين، يقوم ال Controller بمعالجة هذا الطلب)، ثم يقرر ما النتيجة المطلوبة، هل هي صفحة HTML، او تنزيل ملف معين، أو Web Api وغيرها. بالتالي ليس من مهمة Controller العمليات البرمجية الحسابية او التواصل مع قاعدة البيانات، هو فقط وسيط، يأخذ البيانات من View ويمررها ل Model والذي سيقوم بالمطلوب، او يقرأ البيانات من Model معين ويقوم بتمرريها ل View لتقوم برسمها بشكل HTML. أخيراً أود القول: ان المفاهيم السابقة ليست حكرا على بيئة الدوت نت أو اي لغة برمجة أخرى، هي مفاهيم اساسية مع غيرها من المفاهيم، وهو ما يشكل ما يمسى ب هندسة البرمجيات. مفاهيم اخرى يمكن التعمق بها، على سبيل المثال وليس الحصر: Design Patterns Separation of Concerns Dependency Injection Parallel Programming - Multi-threading بالتوفيق،،، اقتباس
السؤال
عبدالله الناصري
السلام عليكم
ما الفرق بين تقنيات OOP و Data Access Layer و MVC في ASP.NET ??
وهل هناك فرق فعلا وماهو؟
شكر الله لكم
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.