Pytania otagowane jako domain-driven-design

Projektowanie zorientowane na domeny (DDD) to podejście do tworzenia oprogramowania o złożonych potrzebach poprzez połączenie wdrożenia z ewoluującym modelem.

4
Gdzie powinniśmy umieścić weryfikację modelu domeny
Nadal szukam sprawdzonych metod sprawdzania poprawności modelu domeny. Czy dobrze jest umieścić walidację w konstruktorze modelu domeny? mój przykład sprawdzania poprawności modelu domeny w następujący sposób: public class Order { private readonly List<OrderLine> _lineItems; public virtual Customer Customer { get; private set; } public virtual DateTime OrderDate { get; private …

7
Czy interfejsy API RESTful mają tendencję do zachęcania do anemicznych modeli domen?
Pracuję nad projektem, w którym staramy się zastosować zarówno projektowanie oparte na domenie, jak i REST do architektury zorientowanej na usługi. Nie martwimy się o 100% zgodność z REST; prawdopodobnie lepiej byłoby powiedzieć, że próbujemy budować API HTTP zorientowane na zasoby (~ Poziom 2 modelu dojrzałości REST Richardsona). Niemniej jednak …

1
Dlaczego baza danych jako kolejka tak źle? [Zamknięte]
Właśnie przeczytałem ten artykuł i jestem zdezorientowany. Wyobraźmy sobie 1 aplikację internetową i 1 odrębną aplikację działającą jako „pracownik”, obie współużytkujące tę samą bazę danych . Och, powiedziałem „dzielenie się” .. ale o czym ostrzega ten artykuł? : Po czwarte, współdzielenie bazy danych między aplikacjami (lub usługami) jest złą rzeczą. …

10
Używanie identyfikatora GUID jako klucza podstawowego
Generalnie używam identyfikatorów automatycznego przyrostu jako kluczy podstawowych w bazach danych. Próbuję poznać zalety korzystania z GUID. Przeczytałem ten artykuł: https://betterexplained.com/articles/the-quick-guide-to-guids/ Zdaję sobie sprawę, że te identyfikatory GUID są używane do identyfikacji obiektów na poziomie aplikacji. Czy są one również przechowywane jako klucz podstawowy na poziomie bazy danych. Powiedzmy, że …

3
Repozytoria DDD w aplikacji lub domenie
Obecnie studiuję DDD i mam pytania dotyczące zarządzania repozytoriami za pomocą DDD. Właściwie spotkałem dwie możliwości: Pierwszy Pierwszym sposobem zarządzania usługami, które przeczytałem, jest wstrzyknięcie repozytorium i modelu domeny do usługi aplikacji. W ten sposób, w jednej z metod usługi aplikacji, wywołujemy metodę usługi domeny (sprawdzanie reguł biznesowych), a jeśli …


2
Czy test jednostkowy jest uważany za kruchy, jeśli zawiedzie, gdy zmienia się logika biznesowa?
Proszę zobaczyć kod poniżej; sprawdza, czy osoba z płcią żeńską kwalifikuje się do oferty1: [Fact] public void ReturnsFalseWhenGivenAPersonWithAGenderOfFemale() { var personId = Guid.NewGuid(); var gender = "F"; var person = new Person(personId, gender); var id = Guid.NewGuid(); var offer1 = new Offer1(id,"Offer1"); Assert.False(offer1.IsEligible(person)); } Ten test jednostkowy się powiódł. Jednak …

1
Jak wybierać między używaniem zdarzenia domeny lub zezwalaniem warstwie aplikacji na koordynowanie wszystkiego
Swoje pierwsze kroki stawiam na projektowanie oparte na domenie, kupiłem niebieską książkę i wszystko inne, i widzę trzy sposoby na wdrożenie określonego rozwiązania. Dla przypomnienia: nie używam CQRS ani Event Sourcing. Załóżmy, że żądanie użytkownika wchodzi do warstwy usługi aplikacji. Logika biznesowa dla tego żądania jest (z dowolnego powodu) podzielona …

2
DDD - Czy repozytorium głównego agregatu obsługuje zapisywanie agregatów?
Używam podejścia podobnego do DDD dla modułu greenfield istniejącej aplikacji; nie jest to 100% DDD ze względu na architekturę, ale staram się użyć niektórych koncepcji DDD. Mam ograniczony kontekst (myślę, że to właściwy termin - wciąż uczę się o DDD) składający się z dwóch jednostek: Conversationi Message. Rozmowa jest korzeniem, …

4
Czy w DDD logika aplikacji do sprawdzania poprawności czy logika domeny?
Załóżmy, że modelujemy formularz za pomocą DDD; formularz może wiązać się z pewnymi regułami biznesowymi - być może będziesz musiał określić dochód, jeśli nie jesteś studentem, i musisz podać swoje dzieci, jeśli wykażesz, że jesteś w związku małżeńskim. A jeśli podałeś kraj, powinien on mieć prawidłowy kraj. Czy tego rodzaju …

3
Na czym polega praktyczny rozwój domen? [Zamknięte]
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 3 lata temu . Dowiedziałem się o rozwoju opartym na domenie od dewelopera z tego obszaru. Mówił to tak, …


2
Najlepsze praktyki dotyczące serializacji agregatów DDD
Zgodnie z logiką domeny DDD nie należy zanieczyszczać problemami technicznymi, takimi jak serializacja, mapowanie obiektowo-relacyjne itp. Jak więc serializować lub mapować stan agregatów bez publicznego ujawniania go za pomocą metod pobierających i ustawiających? Widziałem wiele przykładów np. Implementacji repozytoriów, ale praktycznie wszystkie polegały na publicznych akcesoriach na obiektach i obiektach …

5
Testy jednostkowe w świecie „bez setera”
Nie uważam się za eksperta DDD, ale jako architekt rozwiązań staram się stosować najlepsze praktyki, gdy tylko jest to możliwe. Wiem, że wokół DDD jest wiele dyskusji na temat przeciwników i przeciwników „stylu” setera no (publicznego) i widzę obie strony argumentu. Mój problem polega na tym, że pracuję w zespole …

2
Projektowanie oparte na domenie - zewnętrzne zależności w problemie Entity
Chciałbym rozpocząć projektowanie oparte na domenie, ale jest kilka problemów, które chciałbym rozwiązać przed rozpoczęciem :) Wyobraźmy sobie, że mam grupy i użytkowników, a gdy użytkownik chce dołączyć do grupy, wywołuję groupsService.AddUserToGroup(group, user)metodę. W DDD powinienem to zrobić group.JoinUser(user), co wygląda całkiem nieźle. Problem pojawia się, jeśli istnieją pewne reguły …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.