Fórum Como organizar os controllers em um projeto MVC #585427
30/08/2017
0
Olá, pessoal. Tudo bem?
Quando vocês estão desenvolvendo aplicações MVC, como vocês definem seus controllers? Um controller para um grupo de ações relacionadas a um contexto (CRUD, por exemplo), ou um para cada ação (um para criação, um para edição, etc). Por exemplo:
Opção 1:
Controllers.ProdutosController:
- Index() [GET] -> Retorna a página com a lista de produtos
- Cadastro() [GET] -> Retorna a página com um form para cadastrar novo produto
- Cadastrar() [POST] -> Recebe os dados do form acima e cadastra o produto
- Edicao(id) [GET] -> Retorna a página com um form para editar o produto
- Editar(id) [POST] -> Recebe os dados do form acima e edita o produto
- Exclusao(id) [GET] -> Retorna a página com um form para confirmar a exclusão do produto
- Excluir(id) [POST] -> Recebe os dados do form acima e exclui o produto
Opção 2
Controllers.Produtos.CadastroController:
- Index() [GET]: Retorna a tela de cadastro
- Post() [POST]: Recebe os dados e cadastra o produto
Controllers.Produtos.EdicaoController:
- Index(id) [GET]: Retorna a tela de edição
- Post(id) [POST]: Recebe os dados e edita o produto
...demais controllers para CRUD
Qual abordagem vocês usam normalmente?
Quando vocês estão desenvolvendo aplicações MVC, como vocês definem seus controllers? Um controller para um grupo de ações relacionadas a um contexto (CRUD, por exemplo), ou um para cada ação (um para criação, um para edição, etc). Por exemplo:
Opção 1:
Controllers.ProdutosController:
- Index() [GET] -> Retorna a página com a lista de produtos
- Cadastro() [GET] -> Retorna a página com um form para cadastrar novo produto
- Cadastrar() [POST] -> Recebe os dados do form acima e cadastra o produto
- Edicao(id) [GET] -> Retorna a página com um form para editar o produto
- Editar(id) [POST] -> Recebe os dados do form acima e edita o produto
- Exclusao(id) [GET] -> Retorna a página com um form para confirmar a exclusão do produto
- Excluir(id) [POST] -> Recebe os dados do form acima e exclui o produto
Opção 2
Controllers.Produtos.CadastroController:
- Index() [GET]: Retorna a tela de cadastro
- Post() [POST]: Recebe os dados e cadastra o produto
Controllers.Produtos.EdicaoController:
- Index(id) [GET]: Retorna a tela de edição
- Post(id) [POST]: Recebe os dados e edita o produto
...demais controllers para CRUD
Qual abordagem vocês usam normalmente?
Rachel Andrade
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)