Olá boa tarde,
utilizo diariamente APIs ASP.NET, com arquitetura MVC onde temos basicamente 3 soluções, sendo elas:
- Camada de dados(Repositories)
- Camada de Negocio (Services)
- Model Library (Projeto que contem models que são compartilhados entre os projetos)
Normalmente atuamos com as Repositories fazendo contato direto com o DB e trabalhando com as operações do banco, no caso das services utilizamos essencialmente para:
- Chamadas HTTP camada de dados
- Chamadas HTTP APIs externas
- Funcionalidades e regras de negocio,
Temos APIs complexas que dão conta de integrar dados entre diferentes sistemas.
Minha principal duvida é como unir os conhecimentos passados nesse curso de refatoração e as boas praticas de orientação a objeto nesse formato de trabalho ?
Devo criar uma classe que sobreponha a Model que contera os metodos privados que acessarão as propriedades privadas através de props ?
Ou no modelo MVC devo desconsiderar essa arquitetura de classes onde cada objeto tem sua classe com suas props e seus metodos e no caso focar mais na arquitetura dos models, com cada service executando as diferentes funções e serviços ?