Я хочу понять, как реализовать шаблон MVP на .net, используя форму Windows. В будущем я хочу использовать созданный шаблон в Интернете.MVP pattern on .net
Моя проблема в том, что я не уверен, что я делаю это правильно.
То, что я сделал, - это какой-то презентатор. Я прикрепляю к нему несколько видов, что означает, что я не могу использовать этого ведущего без указания сначала всех видов, которые к нему привязаны.
public class ScorePresenter{
private IScoreView _scoreView;
private IClientView _clientView;
public ScorePresenter()
{
}
public void AttachView(IScoreView view){
this._scoreView = view;
}
public void AttachView(IClientView view){
this._clientView = view;
}
public void Create(Model model){
try{
//create code here
this._clientView.Reload();
}
catch(Exception ex){
}
}
}
public class ClientPresenter(){
private IClientView _clientView;
public ClientPresenter(){
}
public void AttachView(IClientView view){
this._clientView = view;
}
}
public interface IClientView{
void Reload();
}
public interface IScoreView{
}
использование
форма клиент vb.net
Public Class ClientForm
Implements IClientView
Private _clientPresenter As ClientPresenter
Public Sub ClientForm_Load() Handles Me.Load
Me._clientPresenter = new ClientPresenter()
Me._clientPresenter.AttachView(Me)
End Sub
Public Sub Reload Implements IClientView.Reload
Reload code here
End Sub
Public Sub ScoreButton_Click() Handles ScoreButton.Click
Dim frmScoreForm as New ScoreForm
frmScoreForm.MyParent = Me
frmScoreForm.ShowDialog()
End Sub
End Class
оценка формы vb.net
Public Class ScoreForm
Implements IScoreView
Private _scorePresenter As ScorePresenter
Public Sub ScoreForm_Load() Handles Me.Load
Me._scorePresenter = new ScorePresenter()
Me._scorePresenter.AttachView(Me)
Me._scorePresenter.AttachView(Me._myParent)
End Class
Private _myParent as Object
Public WriteOnly Property MyParent As Object
Set(value As Object)
Me._myParent = value
End Set
End Property
End Class
на этот код клиента форме является основной формой, если я нажал счет на форме клиента будет отображена оценка
по бальной форме, если я создавать или манипулировать данными в нем будет вызывать форма клиента перезарядка и форма клиент также будет обновлять свои данные по мнению
, что я вижу в этом, в том, что я не могу использовать ScorePresenter в одиночку право ? Это плохой дизайн? если да, то есть другой способ достичь того, что я хочу?
Event Aggregator - это новое для меня. Я посмотрел пример в Интернете, и я нашел это. http://www.codeproject.com/Articles/355473/Prism-EventAggregator-Sample – valrecx
http://www.ronaldwidha.net/2010/05/31/a-simple-example-of-the-webformsmvp-cross- presenter-messaging/ – valrecx
Существует также один в Prism. –