ENTITY FRAMEWORK E REPOSITÓRIO GENÉRICO

MRSILVA 03/09/2017 09:38:08
#476256
Olá pessoal.
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.
SPRITU 06/09/2017 17:53:44
#476357
Resposta escolhida
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!
LAMPIAO 06/09/2017 21:57:20
#476364
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
MRSILVA 07/09/2017 09:09:34
#476367
Obrigado Spritu e Lampião pela contribuições de vocês, foi de grande valia para mim.

Vou deixar o tópico em aberto por mais um tempo para mais opiniões.

LEANDROVIP 08/09/2017 08:51:47
#476379
Olá, bom dia!

Tem uma resposta no Stackverflow sobre este tema que vale a leitura.

Resposta aqui!

[]'s
Tópico encerrado , respostas não são mais permitidas