Re[13]: Model-View-Controller в .Net
От: adontz Грузия http://adontz.wordpress.com/
Дата: 07.11.06 17:47
Оценка: 1 (1)
Здравствуйте, IB, Вы писали:

A>>Получается логику View перетащили в Presenter.

IB>Именно! Дошло наконец..

Что значит дошло? Это-то понятно, просто мне это очень не нравится

IB>Связность мы понизили с помощю паттерна IoC, что никак не связано с переносом логики из View в Presenter.


Связность это не только Type Declaration References. Теперь Presenter знает о View многие интимные подробности, которые никак не описываются через интерфейс IView.

A>>То что данные View не считываются, они туда запихиваются извне.

IB>И чем это мешает запихивать данные во View по мере необходимости?

Тем что View могут быть некоторые данные просто не нужны. Типичный случай — Virtual List View. Там данные могут вообще динамически подгружатся из БД, кешироватся и проч. Presenter это просто не потянет, это задача Model и View.

A>>View не меняется сам по себе. Только при изменении модели.

IB>Еще раз. Как ты собираешься узнавать о том, что пользователь отредактировал данные во view?

Иван, неужели тебе не известно, что данные во View не редактируются?! Нельзя так смешить, совсем нельзя.
Вот цепочка вызов для EditBox
EditBoxControl.OnKeyDown->EditBoxController.OnKeyDown->EditBoxModel.InsertChar->EditBoxModel.ValueChanged->EditBoxView.OnValueChanged->EditBoxControl.Refresh()

A>>Потому что у тебя только интерфейс IView.

IB>И? Почему это я не знаю какие данные нужны этому интерфейсу?

Потому что он обобщённый Удивительно как ты умудряешься непонимать простейшие вещи. Возьмём Virtual ListView. Он может хранить до миллиарда строк. Такой объём данных в памяти просто не поместится. Куда правильнее, да чего уж там, единственный возможный вариант, это когда ListView запрашивает часть данных необходимых для визуализации. причём никто кроме ListView не знает какая именно частть нужна. Эту логику в какой-то внешний Presenter ты просто не вынесешь.

IB>>>И ты здесь никакого косяка не видишь? Все нормально?

A>>Дял меня — да.
IB>Тогда пожалуйста, не пытайся трактовать хорошо известные паттерны, тем более с такими новаторскими идеями — не оценят...
IB>По крайней мере, до тех пор пока не подгонишь свою систему терминов к общепринятой.. )

У тебя просто проблемы с воображением. Наверное, тебя тебя поражает, что точка пересечений ножей гильотины может двигатся быстрее скорости света, да и другие нематериальные абстракции.
A journey of a thousand miles must begin with a single step © Lau Tsu
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.