none
Quando usar Asp.net MVC ou Web API RRS feed

  • Pergunta

  • Olá a todos!!!

    Estou desenvolvendo um aplicativo que terá saídas para múltiplos dispositivos (desktop, smart phones, tablets).

    Gostaria de ter o máximo de reaproveitamento possível no meu código, principalmente da camada de controler, onde estarão as minhas regras de negócio.

    Até a camada de acesso a dados (DAL) não tenho nenhum problema. Vou usar o Entity Framework com Repository Pattern e tudo ok. Minha dúvida é a partir desse ponto.

    Se eu construir WEB APIs, vou poder dispensar o MVC para as regras de negócio, e utilizar o MVC somente para chamadas das WEB APIs e construção da camada visual?

    Grato,

    Fábio

    terça-feira, 4 de março de 2014 14:41

Respostas

  • Sim tudo pode ficar antes de sua Web API, a sua API só vai ser responsavel por levar e trazer dados. Fiz um desenho no paint mesmo, pra ficar mais simples de explicar, Observe:

    Espero que tenha ficado mais claro agora, só não sou um bom desenhista rsrs...

    Qualquer dúvida tamo ai brow... Abraços !

    Anderson Anzileiro.


    quarta-feira, 5 de março de 2014 19:54

Todas as Respostas

  • Boa tarde Fábio Lima 2013, Blz !

    Na verdade uma Web API é construida e baseada na estrutura do padrão MVC. A Microsoft desenvolveu a Web API para servir sistemas em difrerentes plataformas através de protocolos HTTP's, Sendo eles mobile, desktop e browsers, micro-contraladores e etc...

    Sugiro você criar uma Web API onde interage com suas camadas de acesso a dados e a sua camada de negocio, assim programa menos, mas não evita a complexidade. Você ira se preocupar somente com suas visões (Views e camada de Apresentação, sua UI - User Interface).

    Observe a imagem abaixo:

    Web API.

    Os suas visões irão interagir com sua Web API, todo código de negocio e acesso a dados deverão estar nela.

    E a interação e o consumo da API em suas Views.

    Valeu ! Qualquer dúvida estamos aqui para ajudar. Esse é o espirito da comunidade Microsoft.

    Se te ajudei marque como útil, se respondi marque como respondido. Abraços Amigo.

    Anderson Anzileiro.



    terça-feira, 4 de março de 2014 18:52
  • Anderson, muito boa sua colocação.

    Antes de marcar como resposta, preciso confirmar a seguinte sequencia lógica:

    1. Camada de acesso a dados trabalhando com Entity Framework, incluindo aqui seus repositórios, unidades de trabalho e tudo o mais;
    2. Camada de negócio trabalhando com WebAPI;
    3. Camada de Apresentação.

    Porque coloquei essa lógica aqui novamente?

    Considere que todo o acesso aos dados clientes (DAL) está pronto. Vou consumir o repositório no Controller e também na Web API? Considerei que sua resposta indica que este consumo poderá acontecer apenas na WEB API.

    No caso de eu colocar um Workflow (quando o cliente for o Anderson da .Net Coders vou oferecer um desconto de 15%) isso vai ficar na Web API, correto?

    Outra questão:

    A WEB API não gera as telas com o Razor como o Controller faz. No nosso exemplo aqui, vou ter que consumir o Repositório também no Controller para usar os Views?

    Mais uma vez, valeu.



    terça-feira, 4 de março de 2014 20:32
  • Sim tudo pode ficar antes de sua Web API, a sua API só vai ser responsavel por levar e trazer dados. Fiz um desenho no paint mesmo, pra ficar mais simples de explicar, Observe:

    Espero que tenha ficado mais claro agora, só não sou um bom desenhista rsrs...

    Qualquer dúvida tamo ai brow... Abraços !

    Anderson Anzileiro.


    quarta-feira, 5 de março de 2014 19:54
  • Valeu e muito!!!

    Super abraço!!!

    Fábio

    quarta-feira, 5 de março de 2014 21:54
  • Tamo junto...
    quinta-feira, 6 de março de 2014 02:08