Często widzę ten termin w kontekście architektury oprogramowania („model domeny”, „projektowanie oparte na domenie” itp.). Znalazłem go w Google, ale dostaję mnóstwo różnych definicji. Więc co to tak naprawdę
Model domeny składa się z obiektów, zachowania, relacji i atrybutów tworzących branżę, na której koncentruje się rozwój.
Często widzę ten termin w kontekście architektury oprogramowania („model domeny”, „projektowanie oparte na domenie” itp.). Znalazłem go w Google, ale dostaję mnóstwo różnych definicji. Więc co to tak naprawdę
Gdzie wyznaczamy granicę między delegowaniem a enkapsulacją logiki biznesowej? Wydaje mi się, że im więcej delegujemy, tym bardziej stajemy się anemiczni . Delegacja promuje jednak również ponowne użycie i zasadę SUCHEGO. Co zatem należy przekazać i co powinno pozostać w naszych modelach...
Pracuję dla firmy, dla której domena jest naprawdę trudna do zrozumienia, ponieważ jest to zaawansowana technologia w elektronice, ale dotyczy to każdego oprogramowania tworzącego złożoną domenę. Aplikacja, nad którą pracuję, wyświetla wiele informacji, wykresów i wskaźników, które są trudne do...
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...
Jakie argumenty powinien wziąć pod uwagę przy projektowaniu nowego systemu i musi przechowywać nazwisko osoby jako jedno pole lub osobno jako imię / nazwisko? Zalety pojedynczego pola: Prostszy interfejs użytkownika Bez dwuznaczności przy wpisywaniu nazwiska osoby, która ma bardzo długie imię...
Ten post dotyczy szybko zmieniającego się wydarzenia. Modeluję bazę danych, która powinna być używana jako ogólny niefunkcjonalny wymóg dla wszystkich usług firmy startupowej, takich jak osoby, użytkownicy, usługi i dane handlowe, takie jak kupony, pakiety podpisów itp. Myślę...
Ostatnio czytałem wiele artykułów opisujących prymitywną obsesję jako zapach kodu. Są dwie zalety unikania prymitywnej obsesji: Sprawia, że model domeny jest bardziej wyraźny. Na przykład mogę porozmawiać z analitykiem biznesowym na temat kodu pocztowego zamiast ciągu zawierającego kod...
Załóżmy, że mamy system rejestrowania zadań. Gdy zadanie jest rejestrowane, użytkownik określa kategorię, a zadanie domyślnie ma status „Zaległy”. Załóżmy w tym przypadku, że kategorię i status należy zaimplementować jako byty. Normalnie zrobiłbym to: Warstwa aplikacji: public class...
Zagłębiam się w koncepcje projektowania opartego na domenach (DDD) i odkryłem, że niektóre zasady są dziwne, szczególnie w odniesieniu do izolacji domeny i modelu trwałości. Oto moje podstawowe zrozumienie: Usługa w warstwie aplikacji (udostępniająca zestaw funkcji) żąda obiektów domeny z...
Studiuję czystość, w wyniku czego dość radykalnie zastanawiam się nad tym, jak projektuję i piszę oprogramowanie. Wciąż mam problem z regułami biznesowymi, takimi jak: „przy zapisywaniu aktualizacji jakiegoś elementu, najpierw załaduj całą listę elementów, które mam uprawnienia do przeglądania /...
Czytam o projektowaniu opartym na domenach od prawie dwóch lat i ostrożnie wprowadzam pewne koncepcje do mojej codziennej pracy lub przynajmniej planuję, jak rzeczy, które robię regularnie, mogą być wykonane w ramach projektu opartego na domenach. Jeden wniosek, do którego zacząłem dochodzić,...
Trwałość Ignorancja jest zastosowaniem zasady pojedynczej odpowiedzialności, co w praktyce oznacza, że Obiekty Domeny ( DO ) nie powinny zawierać kodu związanego z trwałością, a jedynie logikę domeny. a) Zakładam, że oznacza to, że kod, który kontaktuje się z niższymi warstwami (tj. warstwami...
W naszej logice biznesowej czasami mamy zdefiniowane metody, takie jak to: User.ResetCourse(Course courseToReset) Problem polega na tym, że zarówno Użytkownik, jak i Kurs są obiektami proxy Entity Framework. Oznacza to, że kiedy trafimy na właściwości nawigacji użytkownika lub kursu, może to...
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...
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...
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...
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...
Jest to nieco podobne do tego pytania, ale bardziej ogólne. Ogólnie rzecz biorąc, czy w przypadku ORM, takich jak EF 4.1 obsługujących POCO, ma sens, aby jednostki domeny były obiektami utrwalonymi w bazie danych? W przypadku starszych ORM, takich jak EF 4 lub Linq-to-SQL, „obiekty bazy danych”...
Idea „kanoniczna” jest wszechobecna w oprogramowaniu; wzory jak Canonical Modelu , Canonical Schema , Canonical Data Model i tak dalej, wydaje się pochodzić ponownie w rozwoju. Jak wielu programistów, często bezkrytycznie podążałem za konwencjonalną mądrością, że potrzebujesz modelu kanonicznego,...
Oto uproszczony wymóg: Użytkownik tworzy Questionz wieloma Answers. Questionmusi mieć co najmniej jeden Answer. Wyjaśnienie: pomyśl Questioni Answerjak w teście : jest jedno pytanie, ale kilka odpowiedzi, z których kilka może być poprawnych. Użytkownik jest aktorem, który przygotowuje ten...