Prima di tutto voglio chiarire che sono nuovo a Domain Driven Design e sto facendo questa domanda perché ho letto qualcosa chiamato Anemic Domain Model.Il modello di repository con Domain Driven Design diventa Anti-Pattern?
La maggior parte delle volte vedo la seguente cosa mentre si lavora con il modello di repository.
- ne abbiamo una generica Repository
- Abbiamo modello che solo contengono insieme di proprietà pubblica, ma non contiene alcun metodo (So It diventare anemici Domain Model come da definizione di DDD) perché la classe qui repository gestire altri processo per quell'entità o modello.
Si prega di fornire la vostra risposta preziosa per la mia richiesta.
Permettetemi di chiarire alcune cose.
Repository generico indica un'interfaccia generica che viene implementata dal repository Entity.
La mia confusione è per quanto riguarda cosa seguente
Per esempio: Supponiamo che io voglio salvare
public class User
{
public int Id { get; set;}
public string Name { get; set};
}
public class UserRepository : IRepository<User>
{
// All Operation Like Save/Get/UserEntity (Domain Object)
}
Così qui è la mia classe per l'utente non fare nulla invece solo hanno proprietà e altra maniglia operazione UserRespository
. Quindi il mio utente è un modello di dominio anemico. (Come non fa nulla di specifico)
Qui in immagine allegata, considero ProductRepository
quindi la mia domanda è: la mia classe di prodotto è un modello anemico?
Considerare la seguente immagine di esempio per ciò che sto cercando di dire.
Potresti elaborare di più? Cosa ti fa pensare che il deposito sarebbe un antipattern? Qualcuno ha un'opinione? Il tuo? Metti un po 'di valore nella domanda se ti aspetti risposte preziose :) –
Non è mio il fatto che il Repository sia anti-pattern, ma io confondo il modo in cui il modello di dominio anemico e il modello di repository. Come il modello del repository, prendi cura del salvataggio dell'entità, ma l'entità stessa non ha alcun metodo per il salvataggio. – dotnetstep
Ciò sarebbe perfettamente valido in DDD, si pensi agli archivi come servizi. –