Dúvida sobre Arquitetura de Software

17/09/2019

14

Conforme os estudos de ReactJS e API. Pode-se dizer que uma API feita com Node, Express é a parte do CONTROLLER. Mongoose ou Sequelize MODEL. E, o ReactJS o View?

Ou eles fazem parte de outra Arquitetura de Software?
Responder

Post mais votado

17/09/2019

Fala, Itamar. Tudo em paz?

Pode ser que sim, ou que não. rsrs Precisamos analisar com a aplicação está estruturada para responder essa pergunta. Veja só:

Se você tem um projeto de aplicação web feito em Express e usa React em páginas específicas, que são servidas pela própria aplicação, então sim. Nesse caso o React está atuando na view, enquanto os controllers ficam por conta das estruturas propostas pelo Express e os models usam o Mongoose e/ou Sequelize.

Por outro lado, se você tem uma API desenvolvida com Express que serve dados para uma SPA (Single Page Application) desenvolvida com React, então aí temos duas aplicações distintas. Nesse ponto pode surgir a dúvida de "onde está a View" na API. Nesse caso não temos view enquanto interface de usuário, pois os controllers retornam as informações no formato JSON (normalmente).

Espero ter ajudado. E caso permaneça a dúvida, é só falar.

Abraço.
Responder

Mais Posts

17/09/2019

Itamar Junior

Sim sim, é uma aplicação com a estrutura que não é MVC, ele retorna um JSON.

Então nesse, caso qual a arquitetura utilizada?

Essa mesma API também será consumida por um app mobile.
Responder

19/09/2019

Joel Rodrigues

Arquitetura é a forma como seu projeto é organizado, certo? Então não necessariamente ele segue um modelo de referência e não necessariamente precisa seguir.

Já vi pessoas gastando muito tempo e discutindo sobre "qual arquitetura eu uso", quando na verdade dar um nome a essa estrutura não vaia afetar em nada seu projeto.

Ou seja, você tem uma estrutura baseada no padrão MVC, mas não há views devido à natureza da aplicação (API). Você pode, ainda, usar estruturas sugeridas por outros modelos de referência, como a "Onion Arxhitecture".

No fim você pode concluir que não usa totalmente o modelo A ou o B, mas que sua arquitetura é baseada/inspirada neles. Se está tudo bem organizado, seguindo boas práticas e atende sua necessidade, ótimo.

Forte abraço.
Responder

24/09/2019

Itamar Junior

Ótimo saber disso. Dessa forma, acho que vou apenas abordar/explicar como as partes do Projeto Lógico se integram, sem necessariamente nomear se é arquitetura MVC ou Arquitetura em Camadas.

Grande Abraço Joel!
Responder

21/10/2019

Itamar Junior

O nome é Arquitetura Cliente/Servidor, vi aqui no livro de Programação Web.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar