تحتاج التطبيقات الحديثة إلى مجموعة متنوعة من الميزات التي نمت عملية تطويرها من حيث الحجم والتعقيد. للمساعدة ، يمكنك استخدام نمط تصميم معماري. إنها تدعم بناء التطبيقات التي يسهل اختبارها وصيانتها.

أشهر ثلاثة أنماط للتصميم هي MVC و MVP و MVVM. يرمز MVC إلى النموذج والعرض ووحدة التحكم ، بينما يرمز MVP إلى النموذج والعرض والمقدم و MVVM للنموذج والعرض والنموذج.

الأنماط المعمارية والتصميمية

النمط المعماري

يوضح النمط المعماري ويحدد بعض المكونات الأساسية لبنية البرنامج. على الرغم من أن النمط المعماري ينقل صورة النظام ، إنها ليست هندسة معمارية. في الواقع ، إنه حل عام وقابل لإعادة الاستخدام لمشكلة تحدث بشكل شائع في هندسة البرمجيات في سياق معين.

نمط التصميم

نمط التصميم هو أفضل ممارسة رسمية يمكنك استخدامها لحل المشكلات الشائعة عند تصميم تطبيق أو نظام.

الفرق بين التصميم المعماري ونمط التصميم

لنبدأ بالمصطلح الشائع - النمط. في البرنامج ، يعد النمط خاصية متكررة تتيح لك تقسيم بنية ضخمة ومعقدة إلى مكونات أصغر وأبسط. يمكنك استخدام هذا النمط لصياغة حل عام لفئة من المشاكل.

في كل مستوى من مستويات تطوير البرامج ، ستستخدم أدوات مختلفة. في المستويات الأصغر ، هذه الأدوات هي أنماط تصميم. توجد الأنماط المعمارية على مستويات أكبر ، و

instagram viewer
نماذج البرمجة على مستوى التنفيذ.

لماذا نحتاج لأنماط التصميم المعماري؟

أثناء تطوير البرنامج ، يمكنك استخدام أنماط التصميم المعماري لحل المشكلات الشائعة. يمكن أن تساعدك الهندسة المعمارية الجيدة أيضًا على:

  • قسّم المهام المعقدة إلى مهام أبسط.
  • تقليل الحشرات.
  • إنتاج كود قابل للاختبار وقابل للصيانة.

ولكن بدون نمط معماري ، قد تواجه صعوبات في الحفاظ على منطق الأعمال لتطبيقك.

النموذج والعرض ونموذج العرض ووحدة التحكم والمقدم

قبل أن تنظر إلى كل نمط ، إليك المصطلحات التي تتكون منها:

  • نموذج يخزن البيانات ويتواصل مباشرة مع قاعدة البيانات. النموذج هو الجزء الذي يمثل بياناتك ومنطق التطبيق. يحدد قواعد العمل التي تدير معالجة البيانات أو تعديلها أو معالجتها.
  • رأي يعرض بيانات النموذج وهو مسؤول عن تمثيل البيانات في واجهة المستخدم.
  • ViewModel هو حصري لنمط MVVM. هذا هو تجريد لطبقة العرض ويعمل أيضًا كغلاف لبيانات النموذج.
  • مراقب هو المكون الذي يدمج العرض والنموذج.
  • مقدم هو مكون موجود فقط في نموذج MVP. يحصل المقدم على المدخلات من مكون العرض ويعالج البيانات بمساعدة النموذج.

أنماط MVC و MVP و MVVM

نموذج - عرض - نمط تحكم

ال النمط المعماري MVC كان الأول ، وهو مشهور اليوم في مجال تطبيقات الويب. تم تقديمه في السبعينيات. يتيح لك هذا النمط إنشاء تطبيق حول فصل المخاوف (SoC). إنه يخفف الجهد الذي تحتاجه لاختبار التطبيق الخاص بك وصيانته وتطويره.

في نمط MVC ، لا يفهم النموذج طريقة العرض أو وحدة التحكم. سيتلقى مراقب النموذج تنبيهًا عند حدوث تغيير في العرض ووحدة التحكم. تساعد وحدة التحكم في عملية التوجيه لتوصيل النموذج بالعرض ذي الصلة.

بعض مزايا نمط MVC هي:

  • فصل الاهتمامات (أكثر تركيزًا).
  • يجعل من السهل اختبار وإدارة الكود.
  • يعزز فصل طبقات التطبيق.
  • تنظيم أفضل للكود وإمكانية إعادة الاستخدام.

إليك كيفية عمل MVC:

بسبب SoC ، يمكن لـ MVC تقليل حجم الشفرة وإنشاء رمز جيد نظيف ويمكن التحكم فيه.

نموذج - عرض - مقدم العرض

يشترك نمط MVP في مكونين مع MVC: النموذج والعرض. يحل محل وحدة التحكم مع المقدم. يستخدم المقدم - كما يوحي اسمه - لتقديم شيء ما. يسمح لك بالسخرية من العرض بسهولة أكبر.

في MVP ، يمتلك المقدم وظيفة "الرجل الوسيط" لأن منطق العرض كله يتم دفعه إليه. العرض والمقدم في MVP مستقلان أيضًا عن بعضهما البعض ويتفاعلان عبر واجهة.

فيما يلي توضيح لكيفية عمل نموذج MVP:

يتلقى المقدم مدخلات من المستخدم عبر طريقة العرض. ثم يعالج إجراءات المستخدم بمساعدة النموذج ، ويمرر النتائج مرة أخرى إلى العرض. يتواصل المقدم مع العرض من خلال الواجهات.

نموذج عرض عرض نمط نموذج

MVVM هو التطور الحديث لـ MVC. الهدف الرئيسي من MVVM هو توفير فصل واضح بين منطق المجال وطبقة العرض. يدعم MVVM ربط البيانات ثنائي الاتجاه بين العرض ونموذج العرض.

يسمح لك نمط MVVM بالفصل بين عرض الكود ونموذجك. هذا يعني أنه عندما يتغير النموذج ، لا يحتاج العرض إلى ذلك ، والعكس صحيح. باستخدام نموذج العرض ، يمكنك إجراء اختبار الوحدة واختبار سلوكك المنطقي دون إشراك وجهة نظرك.

فيما يلي توضيح لكيفية عمل MVVM:

متى تستخدم MVC و MVP و MVVM

الآن بعد أن تعرفت على كل نمط ، تعرف على وقت استخدامها.

متى تستخدم MVC

MVC هو ببساطة تنفيذ لفصل المخاوف. إذا كان التطبيق الخاص بك يحتاج إلى فصل البيانات (النموذج) ، وطحن البيانات (وحدة التحكم) ، وعرض البيانات (العرض) ، فسيعمل MVC بشكل جيد. يخدم MVC أيضًا بشكل جيد في تطبيق حيث يمكن أن يتغير مصدر البيانات و / أو عرض البيانات في أي وقت.

متى تستخدم MVP

يمكنك استخدام MVP عندما يكون للتطبيق الخاص بك تدفق ثنائي الاتجاه. إذا احتاجت تفاعلات المستخدم إلى طلب شيء ما من النموذج ، وستؤدي نتيجة هذا الطلب إلى تغيير واجهة المستخدم على الفور ، ففكر في MVP.

متى تستخدم MVVM

سترغب في استخدام MVVM عندما:

  • تحتاج إلى مشاركة مشروع مع مصمم ويمكن أن تتم أعمال التصميم والتطوير بشكل مستقل.
  • أنت تحتاج إلى اختبار وحدة لحلولك.
  • يجب أن يكون لديك مكونات قابلة لإعادة الاستخدام ، داخل وعبر المشاريع في مؤسستك.
  • تريد المزيد من المرونة لتغيير وجهات نظرك دون الحاجة إلى إعادة تشكيل منطق آخر في قاعدة التعليمات البرمجية.

أي نمط يجب أن تختار؟

السبب الرئيسي لاستخدام نمط التصميم هو تقليل التعقيد. يمكنك القيام بذلك عن طريق تقليل التعقيد الكلي أو عن طريق استبدال التعقيد غير المألوف بما هو مألوف. إذا كان نمط التصميم لا يمكنه تقليل التعقيد بأي من هاتين الطريقتين ، فلا تستخدم أيًا منهما ؛ لن تضيف أي قيمة على الإطلاق.

إذا كنت متأكدًا حقًا من أنه يجب عليك استخدام نمط تصميم ، فحاول إنشاء قائمة تحقق. ضعها على أساس المواقف التي رأيتها هنا واختر الأنسب لمشروعك.