Questo è correlato a DDD per un'applicazione desktop in c # ... con 4 livelli ui / applicazione / dominio / infrastruttura. In realtà 3 applicazioni desktop condividono parte del dominio e parte dell'infrastruttura.
Nel tentativo di evitare che gli sviluppatori superassero i livelli sbagliati e usassero le classi sbagliate, ho separato il livello negli assiemi e impostato il riferimento / le dipendenze in accordo. Se l'infrastruttura è una DLL / assembly e il dominio un'altra DLL / assembly e l'applicazione è un exe / assembly e l'interfaccia utente è una DLL / assembly ... quindi il progetto non può essere compilato. Chi caricherà il file ui.dll? Mi sto perdendo qualcosa qui?
L'unica soluzione a cui sono giunto è la creazione di un quinto livello chiamato Programma. Quel layer avrà il punto di ingresso del programma e collegherà tutto insieme (sto usando DI con Unity)
Qualche idea?