|
|
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
Нормальная практика реализаций т.н. предпринимательских правил (всякий раз ржу с названия :) ) - регистрация обработчиков событий конкретного вью При этом иеем небольшой набор правил: если значение поля А = "ляляля" - тут читаем, тут не читаем! тут рыбу заворачивали: - при изменении поля скрывать/отображать другие поля - при изменении поля активировать/деактивировать другие поля - при изменении поля загрузить в селект новый список с сервера - при изменении поля какскадно загрузить в селекты новые списки с сервера основываясь на значении предыдущего селекта - .... все нормально работает когда заполняем поля вью. Но когда мы прибиндили данные существующей модели - встает вопрос - а как же нам привести контролы во вью в состояния отвечающие "предпринимательским правилам" (простите немогу не поиздеваться :) ) ? если мы начнем вручную генерировать псевдо события всех элементов последовательно - начнется такой шорох в DOM с генерацией кучи событий и зменении состояний элементов с возможной загрузкой данных с сервера (хотя загружать их уже и не нужно - мы их уже прибиндили!) какие есть лутшие практики в этом деле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2012, 20:19 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
spвстает вопрос - а как же нам привести контролы во вью в состояния отвечающие "предпринимательским правилам" (простите немогу не поиздеваться :) ) ? если мы начнем вручную генерировать псевдо события всех элементов последовательно - начнется такой шорох в DOM с генерацией кучи событий и зменении состояний элементов с возможной загрузкой данных с сервера (хотя загружать их уже и не нужно - мы их уже прибиндили!) Ничего не понятно. Какие контролы, события и состояний элементов в MVC? Бизенес-правилам не место во вью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 10:53 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
вью должно быть максимально глупым ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 11:10 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
jQuery.live. Логику писать в отдельном js файле. js файл подключить к нужной странице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 12:00 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
если речь о ASP.NET MVC, а не о попытке MVC на ASP.NET WebForm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 12:03 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
давайте по-сути: не столь важно где (в некоторых фреймворках вью это одновременно и контроллер) - пусть будет как в армии - не N самолетов а К :)) пусть будет в контроллере! Так теперь легче понять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 12:04 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
ПарамонНичего не понятно. Какие контролы, события и состояний элементов в MVC? Бизенес-правилам не место во вью. Что непонятно? спрашивайте конкретней. Не думаю, что вы не знаете что такое контролы и что у них бывают события? Т.е. Вы предлагаете никак не напрягать лицо и пусть юзер выбирает и клацает на форме всеми педальками как хочет - а при отправке на сервер како-ето звено произведет валидацию и выкинет юзеру петицию с правилами клацания на всех пимпочках формы??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 12:07 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
Var79jQuery.live. Логику писать в отдельном js файле. js файл подключить к нужной странице. вопрос про валидацию по ходу заполнения не стоит!!!! Вопрос стоит как в зависимости от сохраненных уже на сервере данных, представленных моделью, отобразить элементы вью в соответствии с "предпринимательскими правилами" - тут читаем, тут не читаем, тут рыбу заворачивали! Так понятней проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 12:10 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
spVar79jQuery.live. Логику писать в отдельном js файле. js файл подключить к нужной странице. вопрос про валидацию по ходу заполнения не стоит!!!! Вопрос стоит как в зависимости от сохраненных уже на сервере данных, представленных моделью, отобразить элементы вью в соответствии с "предпринимательскими правилами" - тут читаем, тут не читаем, тут рыбу заворачивали! Так понятней проблема? Я не имел в виду валидацию. Если юзер в радиобоксе указывает что у персоны есть дети, то должен отобразится раздел, в котором можно добавлять детей, если указал что нет, то раздел скрывается, при каждом щелчке можно как отправлять запрос на сервер, так и не отправлять, а учитывать логику в JavaScript-файле для этой страницы. Вижу такие способы: 1) JavaScript-файл 2) RenderPartial - во вью RenderPartial думать рендерить раздел с детьми или не рендерить. 3) рендерить или не рендерить- определять во вью самой страницы. 4) 2+3 варианты вместе. 5) 1+2+3 варианты вместе. логику view (логику отображения) логично во вью и реализовывать, причем для разных клиентов (мобылы, компутеры, telnet клиет) можно писать разные вью с разной логикой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 12:51 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
sp, Да проблема не нова. Был сделан единственный вариант начальной загрузки страницы. Потом понадобилось загружать в разных конфигурациях в зависимости от ранее введенных значений. Если это не предусмотреть и всё захардкодить, то действительно много придется доделывать:) Но всё нужно готовить на сервере, иначе еще раз придется переделывать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 13:02 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
spНе думаю, что вы не знаете что такое контролы и что у них бывают события? Не ясно о каких контрола идет речь. Как вариант могу представить что, речь о контролах из вебформ, бо у вью в MVC - нет этих извратов. spТ.е. Вы предлагаете никак не напрягать лицо и пусть юзер выбирает и клацает на форме всеми педальками как хочет - а при отправке на сервер како-ето звено произведет валидацию и выкинет юзеру петицию с правилами клацания на всех пимпочках формы??? Я пока ничего не предлагал, по причине того что не вник полностью в это - образное описание проблемы. Все зависит от конкретной задачи, если вы не в поиске универсальных решений ). Давайте больше конкретики, желательно с примерами кода. spв некоторых фреймворках вью это одновременно и контроллер В топку такие фреймворки. Вью не может быть контроллером по определению, в противном случае это не MVC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 13:37 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
sp- при изменении поля скрывать/отображать другие поля - при изменении поля активировать/деактивировать другие поля - при изменении поля загрузить в селект новый список с сервера - при изменении поля какскадно загрузить в селекты новые списки с сервера основываясь на значении предыдущего селекта Вариант 1: Все елементы уже на форме, играемся hidden visible append Вариант 2: AJAX подгрузка элементов (целых вью) дабы избежать - "шорох в DOM". Вариант 3: Больше внимания уделять в планировании гуя, избегать комплексных, перегруженных вью. Это и для "энд юзера" полезней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 14:03 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
Парамонsp- при изменении поля скрывать/отображать другие поля - при изменении поля активировать/деактивировать другие поля - при изменении поля загрузить в селект новый список с сервера - при изменении поля какскадно загрузить в селекты новые списки с сервера основываясь на значении предыдущего селекта Вариант 1: Все елементы уже на форме, играемся hidden visible append Вариант 2: AJAX подгрузка элементов (целых вью) дабы избежать - "шорох в DOM". Вариант 3: Больше внимания уделять в планировании гуя, избегать комплексных, перегруженных вью. Это и для "энд юзера" полезней. Еще раз: имеем уже сформированную форму со всеми контролами. Имеем модель с данными. Надо привести форму в адекватное данным состояние - где надо - задизейблить, где надо - спрятать контролы, где надо - не знаю...станцевать гопак.. Делать отдельно функционал для приведения формы в надлежащее состояние в зависимости от данных и дублировать функционал в контроллере/вью? Избежать комплексных вью не удастся - сам документ товарищи составители документа должны тогда поменять постановку задачи и все свои тарифные планы - им проще меня убить! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 16:28 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
ПарамонВ топку такие фреймворки. Вью не может быть контроллером по определению, в противном случае это не MVC. это вы сгоряча :) они есть и успешные и применяются по своему назначению :) В основном это клиентские фреймворки - MVC.js, Bacbone.js, Knockout.js, Spring.js и очень много других :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 16:30 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
sp Knockout.js это MVVM фреймворк ответ дали выше sp так и не понятно какая технология используется WebForm или .NET MVC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 17:09 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
есть еще такая штука как DataAnnotations можно сделать на подобе этого, дописать свои куски JS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 17:11 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
Var79sp Knockout.js это MVVM фреймворк ответ дали выше sp так и не понятно какая технология используется WebForm или .NET MVC Backbone.js - клиентский M(v)C ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 17:58 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
spэто вы сгоряча :) они есть и успешные и применяются по своему назначению :) Напротив, MVC это паттерн , который принципиально не меняется, и логически не зависит от фреймворка. Пока вы, для себя, четко не выведите кто есть кто (model view controller) - толку не будет. Это похоже на попытку натянуть MVC, на вашу логику, которая с ним не стыкуется. JavaScriptMVC spДелать отдельно функционал для приведения формы в надлежащее состояние в зависимости от данных и дублировать функционал в контроллере/вью? Делать это на сервере - в котроллере, и подавать не клиента в нужной форме на AJAX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 18:18 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
Парамонspэто вы сгоряча :) они есть и успешные и применяются по своему назначению :) Напротив, MVC это паттерн , который принципиально не меняется, и логически не зависит от фреймворка. Пока вы, для себя, четко не выведите кто есть кто (model view controller) - толку не будет. Это похоже на попытку натянуть MVC, на вашу логику, которая с ним не стыкуется. JavaScriptMVC spДелать отдельно функционал для приведения формы в надлежащее состояние в зависимости от данных и дублировать функционал в контроллере/вью? Делать это на сервере - в котроллере, и подавать не клиента в нужной форме на AJAX. Принцип действия у них немного разный - вы на сервере имея модель - генерите вью с соответствующими состояниями контролов, а тут имеем исходное состояние вью + модель -> надо контролы во вью привести в консистентное состояние + еще по ходу работы с вью нужно в обработчиках событий дублировать этот же функционал - а этого как раз и не хочецца делать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 18:36 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
spПринцип действия у них немного разный Дык а зачем вы все пытаетесь пробивать, свой клиентский мвц с JS FW, в ветке, которая больше server side? На форумах JS скучно? :) Вроде клиентские мвц выросли из серверных, но специфика все равно другая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 19:02 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 21:30 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
ПарамонspПринцип действия у них немного разный Дык а зачем вы все пытаетесь пробивать, свой клиентский мвц с JS FW, в ветке, которая больше server side? Вот кто по настоящему пробивает :) Knockout.js уже входит в пакет MVC4. Попробовал на формах, в принципе, наверное, удобно в случае, когда отрисовываешь один раз разметку (view), например, таблицу. Потом при обновлении таблицы аякс запросами загружаешь на клиент массив данных (model) и привязываешь к таблице. Код привязки писать не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2012, 22:52 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
ПарамонspПринцип действия у них немного разный Дык а зачем вы все пытаетесь пробивать, свой клиентский мвц с JS FW, в ветке, которая больше server side? На форумах JS скучно? :) Вроде клиентские мвц выросли из серверных, но специфика все равно другая. потому что это одна из составных частей ASP.NET! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 00:28 |
|
||
|
MVC: т.н. "бизенес-правила" во вью
|
|||
|---|---|---|---|
|
#18+
Парамон, в разделе JavaScript - обсуждают возможности языка но не шаблоны проектирования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2012, 00:30 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=125&tid=1359428]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 345ms |

| 0 / 0 |
