ENTITY FRAMEWORK E REPOSITÓRIO GENÉRICO
Estou desenvolvendo uma aplicação Windows forms com Entity Framework e tenho um repositório genérico que funciona muito bem, mas para isso tem que fazer bastante o uso de abstração das classes interfaces e outras técnicas, quebrei bastante a cabeça para entender o conceito no inicio, mas agora as coisas estão fluindo bem, existe muitas vantagens de fazer dessa forma principalmente na parte de manutenção do código, mas em algumas situações notei que se não tivesse utilizando esse modelo de projeto o código seria mais fácil de ser implementado principalmente quando envolve mais de uma classe relacionamentos etc. Em outros fóruns e pesquisas pela internet já vi alguns programadores experientes dizendo que com Entity Framework não se deve utilizar repositórios genéricos já que com isso perde a principal vantagem do Entity Framework que é a praticidade. Não sou um programador experiente, mas acredito que fazer os métodos e funções tudo dentro das classes (repositório) temos mais flexibilidade, mas não sei se é totalmente correto e estou estudando sobre modelos de projetos para aprender da melhor forma possÃvel.
Qual é a opinião de vocês?
Sei que para essa resposta devemos levar em consideração varias questões, mas atualmente qual o modelo de projetos vocês utilizam?
Desde já agradeço.
Tudo depende de uma coisinha no projeto. o Tamanho.
Se você tem um projeto pequeno com um uso moderado, não tem motivos para você gastar tempo desenhando aquela arquitetura [Ô]ninja[Ô] com suporte a tudo que tem direito.
Agora se você tem uma aplicação com projeção de crescimento, ex. um sistema de gestão de veterinários...que a tendencia cada vez é ter mais recursos e integrações, ai é totalmente desaconselhável trabalhar com repositórios genéricos.
Eu vi um material muito legal do Eduardo Pires https://www.youtube.com/watch?v=i9Il79a2uBU que eu achei bem legal e aborda de certa forma este tema. Tem um cara Andras Nemes (meio louco na minha opinião) que também tem um material muito interessante sobre arquiteturas https://dotnetcodr.com/architecture-and-patterns/
Em resumo aplicações pequenas (CRUD simples, sem muita firula) o repo genérico funciona bem, agora se você precisa de escalabilidade, você vai criar um problema pra você mesmo!
Esta é a minha humilde opinião.
Espero que te ajude!
Citação::
A minha opinião é: DEPENDE
Tudo depende de uma coisinha no projeto. o Tamanho.
Se você tem um projeto pequeno com um uso moderado, não tem motivos para você gastar tempo desenhando aquela arquitetura [Ô]ninja[Ô] com suporte a tudo que tem direito.
Agora se você tem uma aplicação com projeção de crescimento, ex. um sistema de gestão de veterinários...que a tendencia cada vez é ter mais recursos e integrações, ai é totalmente desaconselhável trabalhar com repositórios genéricos.
Eu vi um material muito legal do Eduardo Pires https://www.youtube.com/watch?v=i9Il79a2uBU que eu achei bem legal e aborda de certa forma este tema. Tem um cara Andras Nemes (meio louco na minha opinião) que também tem um material muito interessante sobre arquiteturas https://dotnetcodr.com/architecture-and-patterns/
Em resumo aplicações pequenas (CRUD simples, sem muita firula) o repo genérico funciona bem, agora se você precisa de escalabilidade, você vai criar um problema pra você mesmo!
Esta é a minha humilde opinião.
Espero que te ajude!
Rapaz, você tem a mesma visão que eu, incrÃvel não muda uma vÃrgula, cruds simples realmente é uma maravilha, e são esses exemplos que se vê ai na Net, agora mude para algo complexo e você terá um bicho de sete cabeças, kkk, no começo cometi esse erro, foi quando percebi que estava remando contra a maré.
Abraços
Vou deixar o tópico em aberto por mais um tempo para mais opiniões.
Tem uma resposta no Stackverflow sobre este tema que vale a leitura.
Resposta aqui!
[]'s