Этот код уже использует шаблон MVP.
Он объявляет интерфейс IYourView
и конкретный класс YourView
, который реализует System.Windows.Form и этот новый интерфейс.По сути, это создает новую форму с дополнительным требованием, чтобы она также реализовывала метод BindTree()
, определенный в IYourView
.
Класс (форма) YourView
имеет зависимость YourPresenter
чтобы связать событие OnLoad
с докладчиком, хотя я бы сделал это, когда докладчик подписывается на событие OnLoad
формы.
Докладчик YourPresenter
принимает в качестве зависимости иэкземпляр YourView, и он может затем использовать этот экземпляр в остальной части своей логики.
Теперь, чтобы использовать это, вы будете следовать процессу, подобному следующему:
- Создайте новый экземпляриз
YourView
(который, в свою очередь, создает презентатора) - Реализация логики в презентаторе (т.е. создание
GetModel()
) для создания модели, которую вы хотите связать с деревом - Позвоните
view.BindTree(model)
в докладчике, где модель - это то, что вы только что создали на предыдущем шаге
Итак, создайте экземпляр вашего представления:
IYourView newView = new YourView();
Затем в классе докладчика:
Model model = GetModel();
newView.BindTree(model);