Мы используем ASP.NET MVC 2 с контроллером / представлением уровня представления и моделью, состоящей из уровня бизнес-логики, уровня доступа к данным [хранимые процедуры и классы / методы для взаимодействия с хранимыми процедурами].
На бизнес-уровне и выше для большинства целей редактирование представляется способным представлять как создание объекта, так и редактирование объекта. Это хорошо совпадает с нашим шаблоном проектирования репозитория, который определяет метод «Сохранить». Мы можем просто проверить в хранимой процедуре, равен ли идентификатор 0, и затем создать новый объект, если он равен 0, в противном случае мы можем просто обновить существующий объект, поскольку идентификатор категории должен соответствовать единице.
Основной вопрос для обсуждения - если имеет смысл разделить Edit, который включает в себя создание, на отдельные части Create и Edit за пределами уровня DAL.
Очевидный пример можно показать в виде маршрутов:
Создать - http: // someurl / somearea / edit / 0
Редактировать - http: // someurl / somearea / edit / 254
против
Создать - http: // someurl / somearea / create
Редактировать - http: // someurl / somearea / edit / 254
Существуют ли какие-либо установленные стандарты или лучшие практики в этом отношении?
Я знаю, что это маленькая деталь, но я думаю, что она важна с логистической точки зрения.