Estamos usando o ASP.NET MVC 2 com uma camada e modelo de controlador / exibição de apresentação que consiste em uma camada lógica de negócios, camada de acesso a dados [procedimentos armazenados e classes / métodos para conversar com os procedimentos armazenados].
Na camada de negócios e acima para a maioria dos propósitos, o Edit parece ser capaz de representar a criação de um objeto e a edição de um objeto. Isso coincide bem com nosso padrão de design de repositório que define um método "Salvar". Podemos simplesmente verificar no procedimento armazenado se o ID é 0 e, em seguida, criar um novo objeto se for 0, caso contrário, podemos apenas atualizar o objeto existente, pois o ID da categoria deve corresponder a um.
O principal ponto de discussão é se faz mais sentido dividir a Edição que inclui a Criação em partes separadas da Criação e Edição além da camada DAL.
Um exemplo óbvio pode ser mostrado como rotas:
Criar - http: // someurl / somearea / edit / 0
Editar - http: // someurl / somearea / edit / 254
vs.
Criar - http: // someurl / somearea / create
Editar - http: // someurl / somearea / edit / 254
Existem padrões estabelecidos ou melhores práticas em relação a isso?
Sei que esse é um pequeno detalhe, mas acho que é logisticamente importante.