Хочу понять MVP паттерн на практике, но, кажется, не все понимаю правильно, поэтому простой вопрос: на форме есть кнопка и лейбл, так же есть некая переменная-счетчик. При нажатии кнопки счетчик должен увеличиваться на 1, а текст надписи должен меняться на значение счетчика. Моя реализация выглядит так:
Form1
public partial class Form1 : Form
{
Model _model;
View _view;
Presenter _presenter;
public Form1()
{
InitializeComponent();
_model = new Model();
_view = new View(label1);
_presenter = new Presenter(_view, _model);
button1.Click += (s, e) =>
{
_view.RefreshView();
};
}
}
Model
class Model
{
private int count = 0;
public void IncCount()
{
count++;
}
public int GetCount()
{
return count;
}
}
View
delegate void ViewChanged();
class View
{
public event ViewChanged OnViewChanged;
private Label _label;
public View(Label label)
{
_label = label;
}
public void RefreshView()
{
OnViewChanged();
}
public void ChangeLabel(string data)
{
_label.Text = data;
}
}
Presenter
class Presenter
{
View _view;
Model _model;
public Presenter(View view, Model model)
{
_view = view;
_view.OnViewChanged += _view_OnViewChanged;
_model = model;
}
private void _view_OnViewChanged()
{
_model.IncCount();
_view.ChangeLabel(_model.GetCount().ToString());
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Долго бился над этим вопросом, штудируя литературу и неистово насилуя гугл, но так и не нашел решения, может кто здесь подскажет
Помогите разобраться с проблемойПосле синхронизации репозитория с azure devops, у меня с двумя формами в проекте возникает проблема
В базе есть таблица "Users", в ней есть колонка user_id (числовое значение) Любой юзер может создать объявление(строку) в таблице "obj", которому будет...
Всем привет мне надо сделать древовидную структуру!