powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Шаблон MVP
12 сообщений из 12, страница 1 из 1
Шаблон MVP
    #37024342
=NIk=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Разбираясь с шаблоном тут, мне не понятно как обработать в View, исключение которое произошло в модели.
Это мне нужно, определить event и подписаться на него в View, тогда зачем Presenter?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public class Model
   {
      private double _valueFahrenheit = 32;
      private double _valueCelsius = 0;
      public double valueFahrenheit
      {
         get { return _valueFahrenheit; }
         set 
         {  
             if (value == 0){ OnError();}//---------
            _valueFahrenheit = value;
            _valueCelsius = (_valueFahrenheit - 32) * 5 / 9;
         }
      }
}
...
Рейтинг: 0 / 0
Шаблон MVP
    #37024520
=NIk=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зададим вопрос по другому.

Какой вид Presenterа и модели, если инициатором события выступает модель.
...
Рейтинг: 0 / 0
Шаблон MVP
    #37024834
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если у вас несколько View?

Вообще, вариант, когда View подписывается на события от модели - это вариант MVC
...
Рейтинг: 0 / 0
Шаблон MVP
    #37024844
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=NIk=Зададим вопрос по другому.

Какой вид Presenterа и модели, если инициатором события выступает модель.

Конкретно в том рассматриваемом примере Presenter просто переадресует события View-шкам
...
Рейтинг: 0 / 0
Шаблон MVP
    #37025044
=NIk=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79А если у вас несколько View?

Вообще, вариант, когда View подписывается на события от модели - это вариант MVC

Значит, если модель будет общаться с View, это не критично?

Тогда, Я еще раз спрошу, зачем Presenter, если можно сделать модель - вью.
...
Рейтинг: 0 / 0
Шаблон MVP
    #37025092
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=NIk=Arm79А если у вас несколько View?

Вообще, вариант, когда View подписывается на события от модели - это вариант MVC

Значит, если модель будет общаться с View, это не критично?

Тогда, Я еще раз спрошу, зачем Presenter, если можно сделать модель - вью.

вы уж определитесь,
* model-view - это уже паттерн документ-представление. Вся логика в представлении
* mvc - управляющие воздействия переданы контроллеру, но информацию об изменениях модель сообщает напрямую представлениям
* mvp - это модификация mcv, которая убирает взаимодействие между представлением и моделью, перенося его на уровень контроллера.

Все дело в абстракции. Да и тестировать проще
...
Рейтинг: 0 / 0
Шаблон MVP
    #37025151
=NIk=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79,

Я программист молодой (за каждой юбкой побегать) вот и пытаюсь разобраться, что бы применяя на практике не сделать в порядке хаос.

*mvp - это модификация mcv, которая убирает взаимодействие между представлением и моделью, перенося его на уровень контроллера.

Тогда как mvp узнает об изменении модели? - в контроллере, а контроллер связан с View.

Если так, это практично?
...
Рейтинг: 0 / 0
Шаблон MVP
    #37025175
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=NIk=Arm79,

Я программист молодой (за каждой юбкой побегать) вот и пытаюсь разобраться, что бы применяя на практике не сделать в порядке хаос.

*mvp - это модификация mcv, которая убирает взаимодействие между представлением и моделью, перенося его на уровень контроллера.

Тогда как mvp узнает об изменении модели? - в контроллере, а контроллер связан с View.

Если так, это практично?

практичность понятие относительное, как и применимость моделей в зависимости от ситуации.

Я вижу цепочку так: модель генерирует событие, на которое подписан презентер. Презентер на основании какой то своей логики (которой может и не быть) передает это событие просмотрщикам.

обратно также: просмотрщик инициирует изменение окружающей среды, презентер оценивает, как и где должна измениться модель данных и вызывает соответствующие методы модели
...
Рейтинг: 0 / 0
Шаблон MVP
    #37025223
=NIk=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79,

как не странно я тоже так вижу)).

Спасибо за ответы, немного разобрался.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Шаблон MVP
    #38064676
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спрошу-ка я тоже: И всё же куда в этом примере с обработкой исключений?
В Представлении реализован метод интерфейса IView - "InputDegree"
Код: c#
1.
2.
3.
4.
public double InputDegree
		{
			get { return Convert.ToDouble(_inputBox.Text); }
		}



И если оставить _inputBox незаполненным, то до презентера уже ничего не дойдёт и исключение вывалится в форме(представлении).
Соответственно и ловить нужно тут. Или я чего-то непонял?
Или нужно как-то "абстрагироваться" дальше, например так:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public string InputDegree
		{
			get { return _inputBox.Text; }
		}

//или так

public object InputDegree
		{
			get { return _inputBox.Text; }
		}



А уже в презентере делать проверку и из него дёргать View что б показать сообщение об ошибке?
Или вообще транслировать через презентер "всё барахло" с View в Model и там только проверять и в случае возникновения проблем через презентер дёргать View.

Как то мне этот момент непонятен.
Спасибо.
...
Рейтинг: 0 / 0
Шаблон MVP
    #38065330
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариантов много. Один из них
...
Рейтинг: 0 / 0
Шаблон MVP
    #38066417
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaВариантов много. Один из них

И что это за вариант?
Это валидаторы к контролам на форме.
По сути - часть формы. Все проверки в Представлении.
Правильно?
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Шаблон MVP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]