هل هناك أي فائدة لاستخدام إصدار Cocoa من MVC مع .NET؟

StackOverflow https://stackoverflow.com/questions/95567

سؤال

يوجد رسم تخطيطي يوضح الفرق بين MVC التقليدي وCocoa MVC هنا:

أنماط تصميم الكاكاو:نمط تصميم نموذج عرض وحدة التحكم

هل هناك أي فوائد للقيام بذلك بطريقة "الكاكاو" في .NET باستخدام Visual Studio؟

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

المحلول

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

إذا كنت تريد، يمكنك تصميم برنامج C# يشبه برنامج Objective-C، ولكن الأشخاص الذين ليس لديهم خبرة في Cocoa سيتعين عليهم شرح ذلك لهم، لأن التصميم غير المترابط سيبدو "غريبًا" بالنسبة لهم.

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

نصائح أخرى

كان أحد المطورين في مجلة مطور .Net يكتب عن انتقاله ويقارن .Net بـ Cocoa بما في ذلك استخدام نمط Cocoa MVC في .Net

http://dotnetaddict.dotnetdevelopersjournal.com/tags/?/cocoa

أليس "إصدار Cocoa من MVC" هو النمط المستخدم في ASP.NET MVC؟حتى الآن، أشارت جميع الأمثلة إلى عرض ونموذج b/w من خلال وحدة التحكم دون أي تفاعل مباشر بين V وM.هل أفهم هذا بشكل غير صحيح؟

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

فهل يستحق استخدام هذا النمط في .Net؟إن الحصول على وحدة تحكم تنسيق عامة للعمل بشكل صحيح ليس بالأمر الهين (على سبيل المثال، استغرق الأمر من شركة Apple بضعة إصدارات حتى تتمكن من العمل بشكل صحيح).أشياء مثل أدوات التحكم في الأشجار صعبة بشكل خاص.إذا كنت تستخدم هذا النمط فقط في مشروع واحد أو عدد قليل من المشاريع، فقد لا يستحق الأمر كل هذا الجهد.من ناحية أخرى، أنا متأكد من أن المجتمع سيقدر إطار عمل وحدة التحكم العامة مثل التسلسل الهرمي لـ NSController الخاص بـ Cocoa.

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