Я только что начал изучать образец MVC сегодня (для приложений gui, а не в Интернете), и у вас есть несколько вопросов о том, где должна проводиться проверка данных.Вопрос о проверке MVC
Из того, что я прочитал, кажется, что большинство людей говорят, что все проверки должны проводиться на контроллере, и модель должна в значительной степени удерживать только состояние данных. Однако, похоже, в некоторых ситуациях было бы целесообразнее провести проверку в модели.
Например, можно сказать, что клиент изменяет адрес ipv4 сервера, с которого они хотят подключиться, от gui. Мы хотим убедиться, что на самом деле это адрес ipv4, а не только случайные символы. Если IP-адрес действителен, мы хотим изменить эти данные в модели на новый IP-адрес, и если он недействителен, мы хотим, чтобы на дисплее отображалась ошибка (или что-то еще).
Если вы сделали проверку в контроллере, то если в будущем вы решили, что хотите иметь другой контроллер/просмотр (потому что из того, что я могу сказать, они связаны довольно близко), вам нужно будет сделать обязательно включите этот же код проверки в оба контроллера и, таким образом, придется управлять двумя частями одного и того же кода. Это, конечно, будет более подвержено ошибкам, а затем управляет только одним фрагментом кода, например, если проверка была выполнена в модели.
Должен ли я делать это таким образом? Или мне не хватает, что делает его в контроллере более разумным? Или следует ли обрабатывать некоторые данные в модели, а некоторые данные обрабатываются в контроллере?
Благодаря
Возможный дубликат: http://stackoverflow.com/questions/134388/where-do-you-do-your-validation-model- контроллер или вид –