سؤال

لقد سمعت مصطلح MVC (وحدة التحكم في عرض النموذج) الذي تم طرحه بكثرة مؤخرًا، ولكن ما هو هذا المصطلح حقًا؟

هل كانت مفيدة؟

المحلول

قد ترغب في إلقاء نظرة على ما قاله مارتن فاولر عن معماريات MVC وMVP وUI بشكل عام على موقع مارتن فاولر.

نصائح أخرى

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

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

MVC هو نمط تصميم تم ابتكاره في الأصل في الأيام الخوالي للأحاديث الصغيرة.

كان المفهوم هو أن النموذج سيمثل حالة التطبيق ومنطقه، وستتعامل وحدات التحكم مع الإدخال والإخراج بين "طرق العرض".

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

لقد تم تلويث MVC الحديث بمخلفات ويب MVC المزيفة، لذا سأدع الآخرين يجيبون على ذلك.

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

تبسيط:النموذج = بنية البيانات / عرض منطق العمل = طبقة الإخراج (IE HTML Code) Controller = طبقة نقل الرسائل

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

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

فيما يلي وصف ساذج لـ MVC : http://www.devcodenote.com/2015/04/mvc-model-view-controller.html

مقتطف:

تعريف :إنه نمط تصميم يفصل التطبيق إلى طبقات متعددة من الوظائف.

الطبقات:

يمثل النموذج البيانات.يعمل كواجهة بين قاعدة البيانات والتطبيق (ككائن بيانات).سوف يتعامل مع عمليات التحقق من الصحة والجمعيات والمعاملات وما إلى ذلك.

وحدة التحكم أنها تجمع وعمليات البيانات.يتعامل مع الكود الذي يقوم باختيار البيانات ومراسلة البيانات.

عرض عرض الإخراج للمستخدمين.

يبدو أن ويكيبيديا تصفها بشكل أفضل حتى الآن:

http://en.wikipedia.org/wiki/Model-view-controller

نموذج عرض وحدة التحكم (MVC) هو نمط معماري يستخدم في هندسة البرمجيات.يؤدي الاستخدام الناجح للنمط إلى عزل منطق الأعمال عن اعتبارات واجهة المستخدم، مما ينتج عنه تطبيق يسهل فيه تعديل المظهر المرئي للتطبيق أو قواعد العمل الأساسية دون التأثير على الآخر.في MVC، يمثل النموذج المعلومات (البيانات) الخاصة بالتطبيق وقواعد العمل المستخدمة لمعالجة البيانات؛يتوافق العرض مع عناصر واجهة المستخدم مثل النص وعناصر مربع الاختيار وما إلى ذلك؛وتدير وحدة التحكم التفاصيل التي تتضمن الاتصال بالنموذج لإجراءات المستخدم مثل ضغطات المفاتيح وحركات الماوس

تم وصف نموذج واجهة المستخدم MVC أو Model-View-Controller لأول مرة بواسطة Trygve Reenskaug من Xerox PARC.ظهرت لأول مرة مطبوعة في مجلة بايت المجلد 6، العدد 8، في أغسطس من عام 1981.

هذا ما هو MVC لقد قمت بتغطية مقال مدونة على Oreilly.

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

نمط تصميم MVC:

4 أجزاء = المستخدم، العرض، وحدة التحكم، النموذج.

مستخدم:- يرى العرض ويستخدم وحدة التحكم.

نموذج:- يحتفظ بالبيانات ويقوم بتحديث النموذج بوجود بيانات/حالة جديدة.

منظر:- يعرض البيانات التي يحتوي عليها النموذج.

مراقب:- يتلقى الطلب من المستخدم للحصول على المعلومات أو تعيينها، ثم يتواصل إما مع العرض أو النموذج، على الفور.- "يحصل" عبر العرض.- "يحدد" عبر النموذج.

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

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

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

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

كما قال الكثيرون بالفعل، MVC هو نمط تصميم.أقوم الآن بتدريس أحد زملائي في العمل وقد شرحت الأمر بهذه الطريقة:

مodels - طبقة الوصول إلى البيانات.يمكن أن يكون هذا الوصول المباشر إلى البيانات، وخدمات الويب، وما إلى ذلك

الخامسiews - طبقة العرض التقديمي لتطبيقك.

جontrollers - هذا هو منطق العمل لتطبيقك.

يعزز هذا النمط التطوير القائم على الاختبار.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top