Sto tentando di strutturare i progetti della mia soluzione in modo tale da migliorare i test, la riusabilità, la separazione delle preoccupazioni e tutte quelle cose buone. Mentre capisco questi concetti in teoria, mi trovo a gironzolare per quanto riguarda la sua implementazione, in particolare cosa va dove.
Ho la seguente struttura di progetto all'interno della mia soluzione:
-
Core
non fa riferimento a nulla (interfacce per repository e servizi, DTO) -
BLL
riferimentiCore
(la mia logica aziendale) -
DAL
riferimentiCore
&BLL
(EF, EDMX [nel mio caso] e implementazioni repo) -
UI
riferimentiCore
&BLL
(WPF, Winforms, Console, w / e)
La mia implementazione è corretta, sono sulla buona strada o ho semplicemente fatto un hash totale di esso?