1
resposta

[Dúvida] Como aplicar conhecimentos curso refatoracão e boas praticas de orientação a objeto na arquitetura MVC

Olá boa tarde,

utilizo diariamente APIs ASP.NET, com arquitetura MVC onde temos basicamente 3 soluções, sendo elas:

  1. Camada de dados(Repositories)
  2. Camada de Negocio (Services)
  3. 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:

  1. Chamadas HTTP camada de dados
  2. Chamadas HTTP APIs externas
  3. 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 ?

1 resposta

Gabriel,

Você precisa pegar um projeto pequeno e de não muita relevância e fazer um teste piloto. Aos poucos ir construindo do zero essa nova versão do seu software.

Sim, precisa substituir as classes anêmicas por classes ricas e SEM acesso aos métodos declarando-os como private.

É uma coisa que não aprendi na Alura. O PADRÃO MVC utiliza ARQUITETURA MONOLÍTICA (são ideias diferentes) que é o que 99% das pessoas usam.

Tenho uma sugestão!

Tente estudar arquitetura cebola ou arquitetura limpa e classes mais ricas criando o sonho do programador consciente:

- Baixo acoplamento e alta coesão.

=====================================================

Clean Architecture Essencial - ASP .NET Core com C#

Criando projetos .NET Core segundo a Clean Architecture

Criado por JOSÉ CARLOS MACORATTI

Última atualização em 04/2023

https://www.udemy.com/course/clean-architecture-essencial-asp-net-core-com-c/

=====================================================

Entendendo Coesão e Acoplamento

Coesão e acoplamento, são princípios de engenharia de software muito antigos, que embora sejam simples, muitas das vezes são ignorados; por conta disto, os projetos de software acabam sendo prejúdicados por um mau design. Neste artigo entenderemos o que estes princípios significam e como eles podem nos ajudar a ter um design maduro e eficiente em nosso software.

https://www.devmedia.com.br/entendendo-coesao-e-acoplamento/18538

=====================================================

[]'s,

Fabio I.