Я изучаю шаблон MVP и имеют следующие вопросы:MVP в WinForms (ведущий и Program.cs)
Если у меня есть один вид (проект MainForm), одна модель (проект Model) и один ведущий, должен ли я создать новый проект для моего ведущего, или это нормально, чтобы поместить его в проект MainForm?
1) Если ведущий должен быть расположен в отдельном проекте, очевидно, необходима ссылка на MainForm для его конструктора, то, что приводит нас ко второй проблеме:
Когда приложение начинается в Program.cs (который находится в MainForm) Мне нужно, чтобы создать свой ведущий:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Presenter presenter = new Presenter(new MainForm()); //Here it is
Presenter.Run();
}
Но, так как ведущий находится в отдельном проекте, я не могу использовать его без ссылки. Тем не менее, уже есть ссылка от ведущего на MainForm, поэтому я не могу его добавить.
2) Если ведущий находится в проекте MainForm, программа запускается нормально, но для использования функций из модели я должен добавить ссылку из проекта MainForm в проект Model, что, я думаю, противоречит шаблону MVP.
Пожалуйста, скажите, как правильно спроектировать мое сульвирование.