Кто отвечает за разбор?Контроллер или сервисный уровень? - PullRequest
0 голосов
/ 11 июля 2011

Проект, над которым я сейчас работаю, имеет Core API, который используется всеми: службами, сетью, ...

Этот API имеет следующие уровни:

  • Core
  • Core.Models
  • Core.DataProviders
  • Core.DataProviders.LinqToSql
  • Core.Utils

поверхэтот API - мое приложение ASP.NET MVC.Это выглядит следующим образом:

  • Web
  • Web.Models (Некоторые веб-специфические объекты и логика. Например, класс, который строит список кварталов, чтобы помочь мне отобразить день втаблица планирования.)
  • Web.Extensions (Html ​​Helpers, Controller base ..)
  • Web.ViewModels (составные объекты для передачи в View.)
  • Web.Services(Слой, который связывается с Core и Web.Models. Этот слой создает ViewModels для моих контроллеров. Помогает поддерживать чистоту моих контроллеров.)

Есть ли серьезные недостатки в этой настройке?

Aболее конкретный вопрос: мне нужно проанализировать некоторые вещи из моего представления, прежде чем я смогу передать их в ядро.Должен ли я обрабатывать это в контроллере или на уровне службы?

1 Ответ

1 голос
/ 11 июля 2011

Вообще говоря, данные, представленные из представления, должны анализироваться ModelBinder, возвращаясь к Контроллеру, если использование ModelBinder кажется бессмысленным.

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

...