Przede wszystkim chcę wyjaśnić, że jestem nowy w Domain Driven Design i zadaję to pytanie, ponieważ przeczytałem coś, co nazywa się Anemic Domain Model.Czy wzorzec repozytorium z projektowaniem opartym na domenie staje się wzorcem?
W większości przypadków widzę następujące rzeczy podczas pracy z wzorcem repozytorium.
- Mamy jeden ogólny repozytorium
- Mamy model, który tylko zawierają zestaw właściwości publicznych, ale nie zawiera żadnej metody (tak stać anemiczne Domain model jak na definicji DDD), ponieważ tutaj repozytorium klasa obsługiwać inne proces dla tego podmiotu lub modelu.
Proszę podać cenną odpowiedź na moje zapytanie.
Pozwolę sobie wyjaśnić kilka rzeczy.
Generyczne repozytorium oznacza Ogólny interfejs, który zostanie zaimplementowany przez repozytorium jednostek.
Moja dezorientacja dotyczy następujących rzeczy
Na przykład: Przypuśćmy, że chcesz zapisać
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)
}
Więc tutaj jest moja klasa User zrobić nic, zamiast po prostu mają właściwości i inne uchwytu działania poprzez UserRespository
. Tak więc moim użytkownikiem jest Anemic Domain model. (Ponieważ nie robi nic konkretnego)
Tutaj w załączonym obrazie Rozważam ProductRepository
, więc moje pytanie brzmi: Czy klasa Mojego produktu jest modelem anemicznym?
Proszę wziąć pod uwagę przykładowy obraz, co próbuję powiedzieć.
Czy mógłbyś rozwinąć więcej? Co sprawia, że myślisz, że Repozytorium będzie antyprzemysłem? Czyjejś opinii? Twój własny? Jeśli szukasz wartościowych odpowiedzi, wpisz pewną wartość :) –
Nie jest to moje własne, że Repozytorium jest anty wzorzec, ale jestem mylący sposób, w jaki Anemiczna definicja modelu domeny i wzór repozytorium. Podobnie jak w przypadku repozytorium, zachowaj ostrożność, ale jednostka nie ma żadnej metody zapisu. – dotnetstep
Byłoby to całkowicie poprawne w DDD, pomyśl o repozytoriach jako usługach. –