Quando i concetti di dominio diventano costrutti di applicazione?

2

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.

    
posta Noren 12.12.2012 - 17:26
fonte

1 risposta

1

Mi sembra che DDD possa essere un po 'eccessivo per il tuo tipo di applicazione. Immagini, livelli e suoni simili a quelli che avresti più a che fare con la logica di presentazione. Non mi preoccuperei troppo della parte anemica, se c'è poca logica di business, è così com'è.

Per il livello del dominio, rimanderò ai nomi e ai termini che useranno i tuoi utenti. Il tuo utente sa cos'è un MyImageType e cosa deve fare? No? Quindi non è necessario far parte del modello di dominio.

Potrebbe aiutarti a dire a te stesso che non stai facendo DDD, ma solo a prendere in prestito alcune idee e schemi.

Se sei bloccato nell'analisi cerca di concentrarti su cose che potresti fare ora senza chiudere troppe porte. Rinviare le decisioni il più possibile. Scegli soluzioni semplici che puoi espandere. Consenti a te stesso un po 'di spazio per commettere errori. Prima fallo funzionare, quindi rendilo carino.

    
risposta data 12.12.2012 - 18:19
fonte

Leggi altre domande sui tag