Цитата из википедии:
View определяется как интерфейс, который Presenter будет использовать для получения и установки данных модели. Реализация View будет содержать ссылку на класс Presenter’a и предоставлять Presenter’у ссылку на себя (Формально параметром конструктора Presenter’a является интерфейс View, в то время, как в конструктор передается конкретная реализация View). Когда вызывается событие View, оно вызывает конкретный метод Presenter’а который не имеет параметров и не имеет возвращаемого значения. Затем Presenter получает данные из View, через интерфейс. Затем Presenter вызывает методы модели, и устанавливает данные из модели во View через интерфейс.
Кто знает, правильно ли, что реализация View должно знать о презентере согласно шаблону (1 на рисунке)? или презентер, как говорит другой программист, должен знать о реализации View (2 на рисунке)
"тот кто видит --> тот, кто используется"
третий вариант (когда реализация вьюв знает о презентере и наоборот) в программе не получается. они разделены в разные проекты Views,ViewsImpl,Presenters, PresentersImpl и при попытке ссылки двух проектов на друг друга возникает ошибка-циклическая ссылка в Visual Studio
Прозвучало как абра кадабра...

В описании же русским языком написано. Только конкретный класс View знает о реализации Presenter. Preseneter же работает с интерфейсом View, т.к. в конструктор ему передают не конкретную реализацию View а интерфейс.
Я вот одного понять не могу, почему ты решил использовать MVP? С потолка? Решать использовать какие либо шаблоны проектирования без качественного описания и разъяснения их принципов и задач — очень странно.
Инициатором использования шаблонов был не я. А другой программист, который использовал шаблоны также на другой программе.
Этот шаблон я более менее понял. разные мнения выходят по поводу того момента который я спросил.
Значит цитата из википедия полностью верная выходит. Ясно.
еще вопрос:
- При использовании презентера для определенной формы X: если форма X помещается на другую Y. Обращение родительской формы Y к форме X будет происходить напрямую или через презентер формы X?
Из " Реализация View будет содержать ссылку на класс Presenter’a и предоставлять Presenter’у ссылку на себя (Формально параметром конструктора Presenter’a является интерфейс View, в то время, как в конструктор передается конкретная реализация View). " выходит, что презентер каждой формы будет скрыт внутри нее и не используется снаружи, а использование формы происходит напрямую. Это так?