Recentemente ho postato una domanda riguardante recupero di un DDD l'architettura che è diventata un modello di dominio anemico in un'architettura multitier e questa domanda è un seguito.
La mia domanda è quando il dominio concetti diventa l'applicazione costruisce .
La mia applicazione è un client locale C # 4 / WPF con la seguente architettura:
Presentation Layer
- Vista
- ViewModels
Livello aziendale
- ???
Livello dominio
- Classi che accettano i POCO con tipi primitivi e creano concetti di dominio (ad esempio immagine, livello, ecc.)
- Sanity controlla i valori (ad esempio larghezza dell'immagine > 0)
- Interfacce per DTO
- Interfaccia per un repository che astrae il filesystem
Livello di accesso ai dati
- Classi che analizzano i file binari proprietari in POCO con tipi primitivi mediante conoscenza esplicita del formato file
- Implementazione di DTO di dominio
- Implementazione della classe di repository di dominio
File system locale
- File binari proprietari
Quando la classe di dominio MyImageType con Int32 width, height e Int32 [] pixels diventano System.Windows.Media.ImageDrawing? Se lo metto nel livello dominio, sembra che i dettagli di implementazione siano trapelati (e se non volessi usare WPF?). Se lo metto nel livello di presentazione, sembra che stia facendo troppo. Se creo un livello aziendale, sembra che farebbe troppo poco perché ci sono poche "regole" date la natura CRUD dell'applicazione.
Penso che tutta la mia lettura abbia portato a paralisi dell'analisi , quindi ho pensato che gli occhi freschi potessero dare una certa prospettiva.
Aggiornamento 1:
Per chiarire che l'applicazione non è rigorosamente CRUD, lo strato dominio contiene anche funzioni di elaborazione del segnale e impostazioni di trasformazione dell'immagine. Le funzioni di elaborazione del segnale devono essere applicate ai valori di pixel non elaborati direttamente dal DAL, mentre le impostazioni di trasformazione dell'immagine vengono archiviate con gli oggetti dominio che devono essere applicati da WPF come parte della presentazione.