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.
Krótki format pytania Czy w ramach najlepszych praktyk DDD i OOP jest wstrzykiwanie usług do wywołań metod encji? Przykład długiego formatu Załóżmy, że mamy w DDD klasyczny przypadek Line-LineItems, w którym mamy Encję Domenową o nazwie Zamówienie, która działa również jako Korzeń Agregacji, a Encja składa się nie tylko z …
Mam trochę trudności z odniesieniami między agregacjami. Załóżmy, że agregat Carma odniesienie do agregatu Driver. Odniesienie to będzie modelowane poprzez Car.driverId. Teraz moim problemem jest to, jak daleko mam się posunąć, aby sprawdzić poprawność tworzenia Caragregatu CarFactory. Czy powinienem ufać, że przekazane DriverIdodnosi się do istniejącego, Driver czy też powinienem …
Mam aplikację ASP.NET MVC, która korzysta z usługi zapytań w celu uzyskania danych oraz usługi poleceń do wysyłania poleceń. Moje pytanie dotyczy części dowodzenia. Jeśli nadejdzie żądanie, usługa komend używa dyspozytora poleceń, który przekieruje polecenie do wyznaczonego modułu obsługi poleceń. Ten moduł obsługi poleceń najpierw sprawdza poprawność polecenia, a jeśli …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 2 lata temu . Anemiczny model domeny był dawno krytykowany przez Evansa i Fowlera , ponieważ najwyraźniej …
Chciałbym napisać aplikację podobną do e-commerce. I wiesz, że w podobnych aplikacjach produkty mogą mieć różne właściwości i funkcje. Aby zasymulować taką możliwość, stworzyłem następujące podmioty modelu domeny: Kategoria - jest to coś w rodzaju „elektronika> komputery”, czyli rodzaje produktów. Kategorie zawierają listę właściwości (Lista <Właściwość>). Właściwość - niezależna jednostka, …
Jak powinniśmy tworzyć nowe zagregowane korzenie w architekturze cqrs? W tym przykładzie chcę utworzyć nowy zagregowany katalog główny AR2, który będzie zawierał odniesienie do pierwszego AR1. Tworzę AR2 przy użyciu metody AR1 jako punktu wyjścia. Jak dotąd widzę kilka opcji: Wewnątrz metody w AR1 createAr2RootOpt1mogłem new AR2()natychmiast wywołać i zapisać …
Próbuję nauczyć się DDD i powiązanych tematów. Wpadłem na pomysł prostego, ograniczonego kontekstu, aby zaimplementować „bank”: istnieją konta, pieniądze można wpłacać, wypłacać i przenosić między nimi. Ważne jest również, aby zachować historię zmian. Zidentyfikowałem podmiot konta i pozyskanie tego zdarzenia byłoby dobrze śledzić zmiany w nim. Inne byty lub obiekty …
Dostosowuję projektowanie oparte na domenie od około 8 lat i nawet po tylu latach wciąż mnie wkurza. To sprawdza unikalny rekord w przechowywaniu danych w stosunku do obiektu domeny. We wrześniu 2013 r. Martin Fowler wspomniał o zasadzie TellDon'tAsk , która, jeśli to możliwe, powinna być stosowana do wszystkich obiektów …
Budujesz system, który śledzi firmy. Te firmy mają kontakty. Kontakty te są często specjalistami, którzy odpowiadają tylko na niektóre rodzaje pytań, takie jak fakturowanie / płatność, sprzedaż, zamówienia i obsługa klienta. Używając projektu opartego na domenie i architektury cebuli, modelowałem to z następującymi typami: Firma Ma kontakty Kontakt Ma typy …
Pochodzę ze świata skryptów transakcyjnych i dopiero zaczynam patrzeć na DDD. Nie jestem pewien prawidłowego sposobu zintegrowania projektu DDD z trwałością bazy danych. Oto co mam: Klasa usługi o nazwie OrganisationService, której interfejs zawiera metody pobierania i zapisywania instancji obiektów domeny Organizacji. Organizacja jest zagregowanym katalogiem głównym i ma z …
Zgodnie z zasadą rozdzielania zapytań , a także Myślenia w danych i DDD z prezentacjami Clojure, należy oddzielić skutki uboczne (modyfikujące świat) od obliczeń i decyzji, aby łatwiej było zrozumieć i przetestować obie części. Pozostawia to pytanie bez odpowiedzi: gdzie w stosunku do granicy powinniśmy postawić „zadawanie światu”? Z jednej …
Pracuję nad systemem, który pozwala administratorom definiować formularze zawierające pola. Zdefiniowane formularze są następnie wykorzystywane do wprowadzania danych do systemu. Czasami Formularze są wypełniane przez człowieka za pomocą GUI, czasami Formularz jest wypełniany na podstawie wartości zgłoszonych przez inny system. Dla każdego pola administrator może zdefiniować regułę walidacji, która ogranicza …
W przeszłości korzystałem z narzędzia MDA (architektura oparta na modelu), w którym modelowaliśmy za pomocą UML i generowało to między innymi jednostki biznesowe (nasz model domeny) i ORM (mapowanie itp.). Wiele kodu biznesowego i usług działających w domenie było częścią modelu, a nasze repozytoria zwracały podmioty gospodarcze (więc nie byłoby …
Zamknięte . To pytanie wymaga szczegółów lub jasności . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Dodaj szczegóły i wyjaśnij problem, edytując ten post . Zamknięte 6 lat temu . Właśnie zacząłem pracować nad projektem i używamy projektowania opartego na domenach (zgodnie z definicją Erica Evansa w opracowaniu opartym …
Jestem względnym nowicjuszem w DDD, ale czytam wszystko i wszystko, co mogę, aby ugotować i wydobyć z siebie moją wiedzę. Natknąłem się na to pytanie DDD i jedna z odpowiedzi mnie intryguje. Konteksty i domeny związane z DDD? W jednej z odpowiedzi plakat podaje przykład systemu e-commerce z produktami w …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.