MVP-Muster - Passive Ansicht und Belichtungs komplexe Typen durch IView (Asp.Net, Web Forms)

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

  •  03-07-2019
  •  | 
  •  

Frage

Ich habe vor kurzem wechseln MVP-Muster mit einem Passiv-Ansicht Ansatz. Ich fühle mich sehr wohl mit zu arbeiten, wenn die Sicht Interface nur grundlegende clr Typen wie String Textfelder abgebildet, IDictionary zu Dropdownlists abgebildet, IEnumerable in einigen Gitter abgebildet, Repeater.

Doch dieser letzte Ansatz funktioniert nur, wenn von jenen Gittern uns nur etwa ein collumn kümmern. Wie kann ich Karte mehrreihigen Inhalt des Grids innerhalb IView? Vorerst zwei Lösungen kommt meiner Meinung nach, die beide nicht brillant:

  1. Erstellen Sie ein DTO für den Inhalt der Gitter und setzen die IEnumerable in IView,   oder
  2. Setzen Sie die IEnumerable oder einfach nur das "Raster", wie in IView ist.

Erste Lösung scheint die Passive Ansicht Regeln zu brechen beim Gehen näher Controller-Muster und das zweite bricht das ganze MVP-Muster überhaupt Supervising. Wie würden dies tun Sie damit umgehen?

Danke, Łukasz

War es hilfreich?

Lösung

MVP macht webforms Entwicklung viel einfacher, außer in Fällen wie diesem. Wenn Sie TDD jedoch verwendet, um sicherzustellen, dass Ihr IView wirklich braucht , dass Raster von Daten, dann kann ich nicht wirklich sehen, was das Problem ist.

Ich nehme an, Sie versuchen, etwas zu tun:

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

public class View : IView {

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

Wenn Sie mit dem MVP-Muster verwendet, ich dieses kleine Muster finde sehr hilfreich sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top