Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAkmawпропущено... согласен с Алексей К. исключения не более чем многоуровневый ретурн. Делаем прикладной MyException и кидаем его. В соответствующих местах ловим. А серьезный сбой - это баг или полный фатал. Тут уже ничего не поможетА конкретнее? В каких случаях делаем, а в каких нет? как по мне, я делаю для всего пользовательского ввода в слое бизнес-логики ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 15:10 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
kmawskyANAпропущено... А конкретнее? В каких случаях делаем, а в каких нет? как по мне, я делаю для всего пользовательского ввода в слое бизнес-логикиЗамечательно. Возвращаемся к примеру: а. вместо пользователя сторонний сервис, что "вводит" разом 100500 сущностей; б. вторая сущность в наборе не валидная. Что происходит с оставшимися 100498-ю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 15:15 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAkmawпропущено... как по мне, я делаю для всего пользовательского ввода в слое бизнес-логикиЗамечательно. Возвращаемся к примеру: а. вместо пользователя сторонний сервис, что "вводит" разом 100500 сущностей; б. вторая сущность в наборе не валидная. Что происходит с оставшимися 100498-ю? это какая-то пакетная обработка. её логика будет зависеть от контекста задачи, но уж точно будет отличаться от ввода одной сущности через гуй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 15:18 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAСлабенькая отмаза. Нормальная отмаза skyANAЭто как ты читал пример, что представил себе View Model вместо Domain Model и MVC приложение? Какая Domain Model, акстись? Её в MVC вообще может не быть MVC наиболее частные ошибки MVCНо в объектно-ориентированном программировании используется активная модель MVC, где модель — это не только совокупность кода доступа к данным и СУБД, но и вся бизнес-логика. Следует отметить возможность модели инкапсулировать в себе другие модели. В свою очередь, контроллеры представляют собой лишь элементы системы, в чьи непосредственные обязанности входит приём данных из запроса и передача их другим элементам системы. Только в этом случае контроллер становится «тонким» и выполняет исключительно функцию связующего звена (glue layer) между отдельными компонентами системы. skyANAcodearticles.ruпропущено... 1. Я говорил, что аякс возможет, читай внимательнее. Какая тебе разница, как я пошлю тебе запрос с данными в контроллер, постом формы или аяксом? Начинай уже думать что ли... 2. Валидация реализована только в IValidatableObject.Validate. Именно этот метод ответит на все вопросы. А что внутри его, не суть важно. Ты обрисовал пример, когда тебе нужна валидация и другим системам - на что я тебе предложил обобщить валидацию в едином сервисе. Это не обязательно должен быть сервис, это может быть всё что угодно, хранимая процедура, DLL, почтовый голубь. В чем непонимание?Всё, мне просто смешно уже с тебя. Напиши реальный проект, а потом приходи с советами. Аяксом он собрался опрашивать единый метод IValidatableObject.Validate. У тебя пользователь вводит логин, остальные поля в этот момент ещё пустые, подумай над этим. А пункт 2 в очередной раз подтверждает мои размышления. Ну коли смешно, попей водички, отпустит. Проект написан и не один. А приходить ли с советами, я еще подумаю. И это мне решать, а не тебе, извини. Далее. Включи уже свой мозг не тупи. Аяксом не опрашивается IValidatableObject.Validate, ты укурен? Аяксом оправляется пост запрос с данными. Контроллер маппит эти данные на модель и дальше всё идет по тому алгоритму, что я написал выше. Если пользователь вводи пароль, а поля остальные пустые, сработает клиентская unobtrusive validation и не даст отправить запрос. Во-вторых, даже если js выключен, произойдет на сервере та же валидация и не пропустит модель дальше. И причем тут пароль, ты выше спрашивал про валидацию учетной записи и n-приложений, которые используют такую же логику. Теперь тебя понесло в пользователь вводит логин, остальные поля в этот момент ещё пустые. У меня закрадываются сомнения в том, что ты вообще кодер. Небось кирпичи носишь на стройке. Вот напиши хотя бы один проект, а потом примеры приводи. Что не так с пунктом 2? Ты вообще понял, о чем я писал выше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 15:28 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANA, поищи поиском , слово "домен" чуждо в этой статье Если у тебя доменная модель в MVC, то тебе точно пора идти на стройку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 15:29 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
kmawskyANAпропущено... Замечательно. Возвращаемся к примеру: а. вместо пользователя сторонний сервис, что "вводит" разом 100500 сущностей; б. вторая сущность в наборе не валидная. Что происходит с оставшимися 100498-ю? это какая-то пакетная обработка. её логика будет зависеть от контекста задачи, но уж точно будет отличаться от ввода одной сущности через гуйВот! А как же быть с тем, что "в слое бизнес-логики" уже зашита какая-то проверка? Костыль лепить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 15:40 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAkmawпропущено... это какая-то пакетная обработка. её логика будет зависеть от контекста задачи, но уж точно будет отличаться от ввода одной сущности через гуйВот! А как же быть с тем, что "в слое бизнес-логики" уже зашита какая-то проверка? Костыль лепить? пакетная обработка и сохранение одной сущности настолько разные задачи, что я бы не стал ломать голову как их строить из единых кирпичей. выражаясь по вашему, прикрутил бы костыль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 15:49 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
codearticles.ru, ты выглядишь просто глупо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 15:50 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
kmawskyANAпропущено... Вот! А как же быть с тем, что "в слое бизнес-логики" уже зашита какая-то проверка? Костыль лепить? пакетная обработка и сохранение одной сущности настолько разные задачи , что я бы не стал ломать голову как их строить из единых кирпичей. выражаясь по вашему, прикрутил бы костыльВ чём же разница между тем, что пользователь за день введёт 100 сущностей в систему и сервисом, что это сделает за один присест? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 15:52 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAkmawпропущено... пакетная обработка и сохранение одной сущности настолько разные задачи , что я бы не стал ломать голову как их строить из единых кирпичей. выражаясь по вашему, прикрутил бы костыльВ чём же разница между тем, что пользователь за день введёт 100 сущностей в систему и сервисом, что это сделает за один присест? в упрощенном варианте можно считать, что пакетная обработка - это итерация по одиночной. и наверное, так бывает. я с таким не сталкивался: пакетная была всегда связана с интеграцией и 100500 условий там было в дополнение к тому, что надо сохранить сущность. к тому же ексепшн не обязательно бросать сразу, можно накопить всех ошибок, сохранить их в ексепшн и кинуть в конце ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 15:55 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
kmawskyANAпропущено... В чём же разница между тем, что пользователь за день введёт 100 сущностей в систему и сервисом, что это сделает за один присест? в упрощенном варианте можно считать, что пакетная обработка - это итерация по одиночной. и наверное, так бывает. я с таким не сталкивался: пакетная была всегда связана с интеграцией и 100500 условий там было в дополнение к тому, что надо сохранить сущность.Дак а я о чём? О том, что тут одна валидация, тут другая. Чтобы не лепить костыли, она выносится из бизнес-логики в отдельный контур. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 16:02 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAcodearticles.ru, ты выглядишь просто глупо. И это говорит человек, которому нужно всё по 20 раз повторять, который не может понять сути о чем тут толкуют? Аплодирую стоя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 16:05 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
codearticles.ruskyANAcodearticles.ru, ты выглядишь просто глупо. И это говорит человек, которому нужно всё по 20 раз повторять, который не может понять сути о чем тут толкуют? Аплодирую стоя.Опять выглядишь глупо. Я прекрасно тебя понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 16:09 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
codearticles.ru, ты конечно можешь думать, что твоя шутка про поискать слово "домен" - это искромётный юмор. Но на самом деле это выглядит идиотски. Думаю ты прекрасно знаешь, что термин Domain Model переводится как Модель Предметной Области, и как это связано с бизнес-логикой приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 16:13 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAОпять выглядишь глупо. Я прекрасно тебя понимаю. А зачем тогда пишешь всякие глупости про вызов IValidatableObject.Validate из аякса? Десятый раз повторяю, даже в дефолтном mvc солюшене есть демо-модель регистрации с атрибутами валидации. Всё это отлично работает. Для более сложной валидации, типа проверки учетной записи на дубликат, есть дополнительные штатные средства типа IDataErrorInfo и IValidatableObject. Их и используем. В чем проблемы? skyANAcodearticles.ru, ты конечно можешь думать, что твоя шутка про поискать слово "домен" - это искромётный юмор. Но на самом деле это выглядит идиотски. Думаю ты прекрасно знаешь, что термин Domain Model переводится как Модель Предметной Области, и как это связано с бизнес-логикой приложения. Друже, да нету никакой предметной области, забудь про неё. Есть тупая модель, которая скармливается представлению через разоровский модификатор @model. http://msdn.microsoft.com/en-us/library/ff649643.aspx Model. The model manages the behavior and data of the application domain, responds to requests for information about its state (usually from the view), and responds to instructions to change state (usually from the controller). Черным по-белому написано, что модель управляет поведением и данными прикладной области, отвечает на запросы о предоставлении информации о ее состоянии, и отвечает на инструкции контроллера для изменения состояния. Модель в MVC может много чего. Это не просто "Модель Предметной Области". Хватит уже чушь нести! Какая нахер предметная область если у меня такая MVC модель? Код: c# 1. 2. 3. 4. 5. Какую предметную область несет в себе этот файл, который маппится в модель? Атрибуты тоже чисто mvc-шные. Да много каких гвоздей можно забить сюда. Какая нахер предметная область?! Ты уже достал меня своей тупостью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 16:43 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
codearticles.ru, где я писал глупости? Зачем ты мне тут про MVC-то рассказываешь? Ты мой пример не понял? Ты не понял что если к моему примеру добавить ещё и MVC морду, то там будет таже бизнес-логика, что и в десктопе, что и в сервисе? Ты не понимаешь, что используется одна и таже бизнес-логика и в десктопе, и в сервисе, и в MVC приложении, но разная валидация? Ты вообще понимаешь, что такое SOLID? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 16:53 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
codearticles.ruДруже, да нету никакой предметной области, забудь про неё. Есть тупая модель, которая скармливается представлению через разоровский модификатор @model. @model это же вью-модель, а не М из MVC. контроллер берёт данные из M и отдаёт их V (попутна конвертя их во ViewModel) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 16:59 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
codearticles.ruДесятый раз повторяю, даже в дефолтном mvc солюшене есть демо-модель регистрации с атрибутами валидации. Всё это отлично работает. Для более сложной валидации, типа проверки учетной записи на дубликат, есть дополнительные штатные средства типа IDataErrorInfo и IValidatableObject. Их и используем. В чем проблемы?Покажи код того action, что обрабатывает посланный аяксом codearticles.ruпост запрос формы, данные смапились в модель, модель упала в метод контроллера, контроллер опросил ModelState.IsValid, дернулся автоматом IValidatableObject.Validateи клиентский код, что парсит результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 17:09 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
Сигнатура action тоже интересует, а то вдруг там вместо Register хитрым образом окажется другой тип :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 17:13 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAcodearticles.ru, где я писал глупости? Выше ты писал глупости. Сразу после того, как я озвучил тебе банальный алгоритм. Тебя понесло куда-то в лес. skyANAЗачем ты мне тут про MVC-то рассказываешь? А про что мне тебе рассказывать? Про дельфи? skyANAТы мой пример не понял? Я тебе уже и решение расписал, и разжевал на пальцах. Разве что в рот еду не положил. А ты меня спрашиваешь, понял ли я твой пример. Ты комичен, друх. skyANAТы не понял что если к моему примеру добавить ещё и MVC морду, то там будет таже бизнес-логика, что и в десктопе, что и в сервисе? Ты не понимаешь, что используется одна и таже бизнес-логика и в десктопе, и в сервисе, и в MVC приложении, но разная валидация? Ты вообще понимаешь, что такое SOLID? Мля, какой же ты трудный... hVostt@model это же вью-модель, а не М из MVC. контроллер берёт данные из M и отдаёт их V (попутна конвертя их во ViewModel) Нету в MVC никаких вью моделей. Есть модель, вью и контроллер. skyANAcodearticles.ruДесятый раз повторяю, даже в дефолтном mvc солюшене есть демо-модель регистрации с атрибутами валидации. Всё это отлично работает. Для более сложной валидации, типа проверки учетной записи на дубликат, есть дополнительные штатные средства типа IDataErrorInfo и IValidatableObject. Их и используем. В чем проблемы?Покажи код того action, что обрабатывает посланный аяксом [HttpPost] Код: c# 1. 2. 3. 4. codearticles.ruпост запрос формы, данные смапились в модель, модель упала в метод контроллера, контроллер опросил ModelState.IsValid, дернулся автоматом IValidatableObject.Validateи клиентский код, что парсит результат.[/quot] Мне лень тебе писать очевидные банальные вещи. А клиентского кода и нет, почему ты решил, что он должен быть? А если нужен клиентский код, то ты не в состоянии отправить через $.post запрос и принять ответ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 17:29 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
AccountController Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. RegisterViewModel Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Всё. За 1 минуту написал тебе валидный код, без исключений и прочего шлака. Всё работает штатно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 17:38 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
codearticles.ruМне лень тебе писать очевидные банальные вещи. А клиентского кода и нет, почему ты решил, что он должен быть? А если нужен клиентский код, то ты не в состоянии отправить через $.post запрос и принять ответ?Слив засчитан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 17:44 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
codearticles.ruНету в MVC никаких вью моделей. Есть модель, вью и контроллер. В теории (говоря о паттерне MVC) нет. А в реализации есть, смысл открещиваться? Из модели берётся User, мапится в UserViewModel и отдаётся во вью. Что по-твоему есть UserViewModel -- модель? А User тогда что такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 17:47 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
skyANAcodearticles.ruМне лень тебе писать очевидные банальные вещи. А клиентского кода и нет, почему ты решил, что он должен быть? А если нужен клиентский код, то ты не в состоянии отправить через $.post запрос и принять ответ?Слив засчитан. Слей себе мозги уже. Реально твоя тупость неискоренима. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 17:47 |
|
||
|
MVC: обработка исключения в контроллере
|
|||
|---|---|---|---|
|
#18+
hVosttcodearticles.ruНету в MVC никаких вью моделей. Есть модель, вью и контроллер. В теории (говоря о паттерне MVC) нет. А в реализации есть, смысл открещиваться? Из модели берётся User, мапится в UserViewModel и отдаётся во вью. Что по-твоему есть UserViewModel -- модель? А User тогда что такое? Так речь именно о паттерне MVC. А по факту мы имеем вью модель в качестве модели MVC. Об этом я и писал выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 17:48 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38772047&tid=1356943]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 259ms |
| total: | 374ms |

| 0 / 0 |
