MVP النمط السلبي عرض وفضح أنواع معقدة من خلال IView (Asp.Net, نماذج ويب)

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

  •  03-07-2019
  •  | 
  •  

سؤال

لقد قمت مؤخرا التبديل إلى MVP مع نمط السلبي عرض النهج.أشعر أنها مريحة جدا للعمل مع واجهة عرض يعرض الأساسية فقط clr أنواع, مثل سلسلة تعيينها إلى مربعات النص, يقع تعيينها إلى DropDownLists ، IEnumerable تعيينها إلى بعض الشبكات ، الراسبين.

ومع ذلك ، فإن هذا النهج الأخير يعمل فقط عند من تلك الشبكة لا يهتمون إلا واحد collumn.كيف يمكنني خريطة الشبكة multirow المحتوى داخل IView ?الآن اثنين من الحلول يتبادر إلى ذهني ، سواء لا الرائعة:

  1. إنشاء DTO الشبكة محتوى وفضح IEnumerable في IView, أو
  2. فضح IEnumerable أو مجرد "الشبكة" كما هو في IView.

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

شكرا Łukasz

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

المحلول

MVP يجعل webforms التنمية أسهل بكثير ، ما عدا في مثل هذه الحالات.ومع ذلك ، إذا كنت تستخدم TDD للتحقق من أن IView حقا يحتاج أن شبكة من البيانات ، ثم لا أرى ما هي المشكلة.

أفترض أنك تحاول أن تفعل شيئا مثل هذا:

public interface IView
{
 DataTable DataSource {get; set;}
}

public class View : IView {

private GridView _datasource;
public DataSource 
{
  get { return _datasource; }
  set 
  { 
    _datasource = value; 
    _datasource.DataBind(); 
  }
}

عند استخدامها مع MVP نمط أجد هذا القليل من نمط أن تكون مفيدة جدا.

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