سؤال

لقد كنت أقرأ من خلال بضعة أسئلة حول هنا ومختلف المقالات على MVC ويمكن أن نرى كيف يمكن تطبيقها حتى تطبيقات غيانية كثيفة في حدث مثل تطبيق الطلاء.

هل يمكن لأي شخص أن يستشهد بموقف حيث قد يكون MVC شيء سيئا واستخدامه سوء النسل؟

تحرير: أنا أتحدث على وجه التحديد عن تطبيقات واجهة المستخدم الرسومية هنا!

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

المحلول

حاولت MVC في برنامج تشغيل نواة الشبكة الخاص بي. تم رفض التصحيح.

نصائح أخرى

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

MVC منطقي تطبيقات الويب. في تطبيقات الويب، تقوم بمعالجة بعض البيانات (ON SA: كتابة الأسئلة، إضافة تعليقات، تغيير معلومات المستخدم)، لديك حالة (تسجيل الدخول المستخدم)، ليس لديك العديد من الصفحات المختلفة، ولكن الكثير من المحتوى المختلفة لتناسب تلك الصفحات. صفحة سؤال واحدة مقابل مليون سؤال.

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

ثو، CMS. مشرف سوف تبني على رأس MVC على ما يرام، إنه جزء مستخدم فقط لن يفعل ذلك.

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

لن يستفيد تطبيق WebDAV بشكل كبير من MVC، إما.

التحذير على روبي لبرمجة الويب هو أن القضبان مناسبة أفضل لبناء تطبيقات الويب. لقد رأيت العديد من المشاريع محاولة إنشاء خادم WebDAV أو نظام إدارة المحتوى CMS مع القضبان وتفشل بشكل كبير. بينما يمكنك القيام ب CMS في القضبان، هناك تقنيات أكثر كفاءة بالنسبة للمهمة، مثل Drupal و Django. في الواقع، أود أن أقول إذا كنت تبحث في جهد تطوير بوابة جافا، يجب عليك تقييم Drupal و Django للمهمة بدلا من ذلك.

أي شيء تريد إسقاطه في مكونات الطرف الثالث سيجعل من الصعب العمل في نمط MVC. مثال جيد على هذا هو CMS.

سيكون لكل مكون تحصل على كائنات تحكم "الخاصة" الخاصة بهم ولن تتمكن من مشاركة "التحكم" للنموذج -> واجهة المستخدم.

لا أعرف بالضرورة أن MVC هو حقا سيئة فكرة لتطبيق واجهة المستخدم الرسومية. ولكن هناك بدائل يمكن القول أنها أفضل (وأيضا سوءا أيضا اعتمادا على رأيك الذي تطرحه). الأكثر شيوعا هو MVP. انظر هنا للحصول على تفسير: كل ما تريد معرفته عن MVC و MVP لكنهم كانوا يخشون أن نسأل.

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

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

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

متى هو شيء سيء؟ حيث يوجد أي وقت مضى هيكل رمز آخر من شأنه أن يناسب مشروعك بشكل أفضل.

هناك عدد لا يحصى من المشاريع التي لن تكون فيها MVC "تناسب"، لكنني لا أرى كيف ستكون قائمة بها من أي فائدة ..

إذا تناسب MVC، فاستخدمها، إن لم يكن، استخدم شيئا آخر ..

MVC و Orm هي مزحة .... إنها مناسبة فقط عند تطبيق تطبيقك تطبيق قاعدة بيانات، أو عندما تريد الاحتفاظ بتطبيق قاعدة بيانات التطبيق. إذا كنت تستخدم RDBMS يدعم الإجراءات المخزنة، فهذه هي الطريقة الوحيدة للذهاب. Procs المخزنة هي النهج المفضل لمطوري التطبيقات ذوي الخبرة. يتم ترقيت MVC و Orm من قبل الشركات فقط تحاول بيع المنتجات أو الخدمات المتعلقة بتلك التقنيات (مثل Microsoft تحاول بيع VS). التوقف عن إهدار وقتك في تعلم Java و C #، والتركيز بدلا من ذلك على ما يهم حقا، JavaScript و SQL.

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