Estou construindo um aplicativo wpf que implementa os seguintes recursos:
- Obtenha entrada do usuário e leia dados de bancos de dados
- faça alguns cálculos nele
- Apresente-o ao usuário em vários tipos de visualizações e grave as alterações novamente no db
Arquitetura proposta: Banco de Dados -> Entity Framework -> Repositório -> Lógica Comercial -> Serviço de Dados -> ViewModel
Razões para usar essa arquitetura: Vários cenários presentes no aplicativo (Várias exibições) e vários bancos de dados. Portanto, estou disposto a usar o repositório no meio para abstração.
Uma ressalva é que o contexto terá vida longa se o repositório for implementado. Para superar isso, não há problema em criar um contexto e descartá-los em um bloco using () em cada um dos métodos crud.
fique à vontade para sugerir abordagens alternativas.