سؤال

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

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

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

المحلول

وأنا أفعل شيئا من هذا القبيل في بلدي MVP تنفيذ I حقن لICookieManager، ISessionManager، ICacheManager، IConfigurationManager، IRedirector إلى مقدم بلدي التي تنفذ من قبل الفئات التي التفاف وظيفة لهذا الغرض.

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

وهتاف

نصائح أخرى

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

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

وشكرا لإجابات الجميع، لذلك لتلخيص ...

هل نقول أن الواقع مقدم <م> يجب تكون قادرة على الوصول إلى البيانات من جلسة (ويفضل عبر واجهة) وعلى الرأي القائل بأن لا ينبغي الوصول إليه (المتبقي البكم)؟

ويعتمد الكائن الذي كنت تحاول إعادة استخدام أو يحتوي على خلاف معظم منطق الأعمال.

وأود أن نفترض فقط مقدم عليه أن يعلم الدورة كما أن الهدف من ذلك هو أقرب ما يكون إلى وحدة تحكم في MVP.

نعم، كما تقول حمامة، والتفاف كل ما يصل إلى الدورة في فئة أخرى.

وهذا يعني أنك يمكن حقن فئة وهمية من هذا النوع لمحاكاة قيم مختلفة لهذه الدورة.

للرد على سؤالك بشكل أكثر تحديدا، فإنني أميل للذهاب لنمط الإشراف-مقدم ( HTTP: / /martinfowler.com/eaaDev/SupervisingPresenter.html )، والتي تحافظ على المشاهدات كما غبية جدا. هكذا فقط مقدم من شأنه الوصول إلى الدورة (ولكن ليس مباشرة كما قلت من قبل) ونقول للمشاهدة ما يجب القيام به.

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

ويمكن رؤية

والتبعية أمثلة حقن هنا: http://www.codeproject.com /KB/aspnet/Advanced_MVP.aspx و هنا: HTTP : //geekswithblogs.net/opiesblog/archive/2006/06/30/83743.aspx . الخدعة هنا هو لإدارة جميع الحالات جلسة في متغير ثابت، ومنعهم من الكتابة فوق بعضها البعض. (لست متأكدا من المثال الأول يحقق هذا صحيح).

وأما النهج الثاني هنا هو: HTTP: / /codebetter.com/blogs/jeffrey.palermo/archive/2005/03/28/128592.aspx . في هذا المثال وجهة نظر يعرف كيفية تخزين حالته. الجانب السلبي هو أنه في كل مرة مقدم يضع البيانات في طريقة العرض يجب أن يطلق طريقة تحديث على عرض لإجبار إعادة الربط. ليست هناك حاجة هذا في الأمثلة أعلاه، ولكنك لا تحتاج إلى إدارة جدول الجلسات. لست متأكدا من مدى تعقيد هذا النهج اختبار مع أدوات ساخرا.

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

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