MVC، MVP، MVVM، وكيفية اختيار؟

لماذا الهندسة المعمارية أو وضع؟

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

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

MVC

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

عرض طبقة (عرض)

يتوافق مع ملفات تخطيط XML

طبقة التحكم (المراقب المالي)

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

نموذج طبقة (النموذجي)

هياكل البيانات والفئات ذات الصلة لدينا نموذج الأعمال التجارية، بناء، فإنه هي المسؤولة أساسا عن طلبات شبكة الاتصال، وتجهيز قاعدة البيانات، وعمليات I / O.

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

  MVP

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

عرض طبقة (عرض):

المسؤولة عن رسم عناصر واجهة المستخدم للتفاعل مع المستخدم، الموافق XML، آخر، جزء

طبقة نموذج (نموذج):

مسؤولة عن تخزين واسترجاع، معالجة البيانات، طلبات الشبكة تتكون عادة، وتجهيز قاعدة البيانات، و/ O تيارات I.

طبقة التحكم (مقدم):

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

MVP لتنفيذ تصميم معين من المشروع هو عرض طلب الواردة، والبيانات التي يحصل عليها من طبقة النموذجي، ومعالجة البيانات، من خلال واجهة لرد آخر عرض طبقة أو جزء.

MVP يمكن أن تجعل من الأشياء حقا آخر عرض، المتعلقة UI فقط.

وبالإضافة إلى ذلك، فإنه لا يزال هناك الكثير من المزايا:

1. نموذج منفصل تماما وجهة نظر، ونحن يمكن تعديل وجهة النظر دون التأثير على النموذج.

2. هيكل كود مشروع (مجلد) واضحة، يمكن للمرء أن يقول أي نوع من الأشياء للقيام.

3. نحن يمكن أن يكون مقدم عن وجهات نظر متعددة، من دون الحاجة إلى تغيير منطق مقدم. هذه الميزة مفيدة للغاية، وذلك لأن التغيير عرض دائما كثيرا من التغييرات نموذج

4. العمل (على سبيل المثال، قبل مصمم لا يمكن أن تظهر بعض منطق الأعمال إلى رمز الكتابة أو أي شخص آخر لتولي رمز أسهل للتغيير)

على الرغم من هذا، لديها MVP النموذج أيضا أوجه القصور وأوجه القصور هي كما يلي:

طبقة 1.Presenter ويتفاعل عرض طبقة من خلال واجهة، قد يكون طبقة العرض الكثير من واجهات، لأنه قد يكون هناك العديد من آخر هو تطبيق واجهة مع عرض، ثم كل شيء يجب أن تستخدم لتحقيق كل آخر أساليب (بغض النظر عما إذا كنت تستخدم)، ولكن إذا كنت تريد بعض طريقة وراء الحذف، مقدم وآخر يجب أن تتغير، الكثير من المتاعب.

2.MVP آخر جزء كبير من المسؤولية الملقاة مقدم للتعامل مع الأعمال المعقدة ولكن أيضا قد تسبب طبقة P كبيرة جدا، A وبمجرد أن منطق العمل أكثر وأكثر، طريقة أكثر وأكثر مشاهدة محددة، الأسلوب سيؤدي إلى آخر وجزء يدركون أكثر وأكثر، لا يزال المتضخمة.

MVVM

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

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

نموذج:

يتم تخزين وظائف نموذج طبقة البيانات، يقرأ بيانات الشبكة والبيانات التشغيلية، وقاعدة البيانات I / O، عموما كائن ViewModel أن نطلق على هذا الجزء من البيانات التي حصل عليها.

عرض:

عرض هنا أشعر به هو عرض حقيقي، ماذا تقول؟ عرض وطبقة UI تفعل سوى الأعمال ذات الصلة، ونحن فقط كتابة التعليمات البرمجية في عرض طبقة من جزء XML والنشاط.

عرض طبقة دون أي منطق الأعمال والبيانات لا تنطوي هذه العملية، لن تتم معالجة البيانات، واجهة منفصلة وبيانات شديدة.

ViewModel:

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

ViewModel هو التركيز على معالجة منطق الأعمال، كما تعمل على عمليات البيانات، وهذه الارتباطات مصدر البيانات على جهاز التحكم المقابلة تتغير تلقائيا إلى واجهة المستخدم، لا تحتاج للقلق حول ما التحديث UI المطورين.

العيب هو أن البيانات MVVM ملزمة يجعل الشوائب من الصعب جدا التصحيح.

ترى تشوهات واجهة، ويمكن أن يكون هناك عرض التعليمات البرمجية له علة، رمز نموذج يمكن أيضا أن يكون مشكلة.

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

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

1. إذا مشروع بسيطة، لا تعقيد، لا تغييرات كبيرة في المستقبل ثم حدد MVC المشترك على ذلك، تولي اهتماما لكل عبوة وحدة، وسهلة دعوة مع.

2. للحصول على العرض منحازة من APP، فإن الغالبية العظمى هي في منطق الأعمال الخلفية، APP ظيفتها الرئيسية هي لعرض البيانات، مثل التفاعلية وأوصت MVVM.

3. ل أدوات أو الحاجة إلى كتابة الكثير من APP منطق الأعمال  ، MVP أو MVVM يمكن استخدامها.

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

[المرفقة] المتعلقة العمارة الفيديو

جمع البيانات

ووتش إلكتروني + الخاص الرد، "أندروز البيانات" الوصول الحر!

الروبوت للحصول على الحصول على بنية متطورة المعلومات، وشفرة المصدر والملاحظات والفيديو. UI كبار، وتحسين الأداء، ودورات مهندس معماري، NDK والتنمية الهجينة (ReactNative + Weex) الصغيرة إلكتروني صغير، ممارسة الرفرفة الروبوت المتقدم جميع جوانب تكنولوجيا

وقال ليزلي ذات مرة: "أنا الإعلانات التجارية، وأكثر من اختيار الفيلم."

الفيلم هو هسياو هسين لعبت الفرنسي يسقط وغونغ لي، وكيل سابق لمدة 35 سنة من نفس الجنس والحب هو محزن جدا

كيفية فهم الشركات الكبرى، "صغيرة جميلة"؟ - يمكن لوريال المجموعة إصلاح قصة لاي

"الساحر كوينت العلامة التجارية" الخدمة الوطنية لا حذف الملفات اختبار على وشك أن تبدأ

التلاميذ بطاقة يلة المباراة حقيبة الظهر إلى مركز الشرطة "استسلام" بسبب مذهل

تلعب وضع التحكم: ضوء تألق بالإضافة إلى آريس، غيرت RE حواء الصغير

الروبوت - الأداء الأمثل تبادل الخبرات

باو تشيانغ سيارة الاقتصاد للجلوس حول بالإضافة إلى المحامين الذين يمثلون أمام المحكمة هناك شخص مهم جدا

أوصى عدد من "انعكاس الإلهي" من الدماغ لحرق الأفلام، وهناك الكثير من الناس يمكن تخمين النتيجة النهائية للفيلم أنه

وحدة التحكم اللعب: بسيطة رذاذ خفيف، HG GTO القماش القديم آلة لامبا

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

الممثل الواقع الاجتماعي استفزازية في مهرجان كان السينمائي هذا منتصب الجماعي الاصبع الوسطى الجرجير فيلم 8 نقاط