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.
Jestem młodszym programistą wśród seniorów i mam duże problemy ze zrozumieniem ich sposobu myślenia i rozumowania. Czytam DDD ( Domain-Driven Design ) i nie rozumiem, dlaczego musimy tworzyć tak wiele klas. Jeśli zastosujemy tę metodę projektowania oprogramowania, otrzymamy 20-30 klas, które można zastąpić maksymalnie dwoma plikami i 3-4 funkcjami. Tak, …
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ę jest?
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 domen? Weź jako przykład następujące obawy: Autoryzacja . …
W debacie na temat modeli domen Rich vs. Anemic Internet jest pełen porad filozoficznych, ale brakuje autorytatywnych przykładów. Celem tego pytania jest znalezienie ostatecznych wytycznych i konkretnych przykładów prawidłowych modeli projektowania opartych na domenie. (Idealnie w C #.) Na przykład w rzeczywistości ta implementacja DDD wydaje się nieprawidłowa: Poniższe modele …
Wiem, że są tu już pewne pytania, które są ściśle związane z tym tematem, ale żadne z nich nie przyjmuje Ubiquitous Language jako punktu wyjścia, więc myślę, że uzasadnia to pytanie. Dla tych, którzy nie wiedzą: język wszechobecny to koncepcja zdefiniowania języka (zarówno w mowie, jak i piśmie), który jest …
Chciałbym wiedzieć, co odróżnia klasę usług od klasy użyteczności lub klasy pomocnika? Klasa tylko z podstawowymi metodami wywołuje dao's jest usługą? Czy użycie klas Pomocników nie narusza SRP?
Dawno temu dodaliśmy funkcję, w której nasi użytkownicy mogli „zaakceptować” obraz po dodaniu go do kolejki przepływu pracy. Okazuje się, że użyliśmy niewłaściwego terminu, a użytkownicy faktycznie „Zatwierdzili” obraz. Zmiana Akceptuj, aby zatwierdzić w naszym interfejsie jest łatwa, wystarczy zastąpić jedno słowo. Ale zaprogramowaliśmy wszystkie warstwy słowem „akceptuj”, od nazwy …
Czytam projektowanie oparte na domenie autorstwa Evansa i jestem w części, omawiając architekturę warstwową. Właśnie zdałem sobie sprawę, że warstwy aplikacji i domeny są różne i powinny być oddzielne. W projekcie, nad którym pracuję, są one mieszane i nie mogę powiedzieć różnicy, dopóki nie przeczytam książki (i nie mogę powiedzieć, …
Mój nowy szef pracuje nad tym projektem od wielu lat. Byłem tu tylko kilka tygodni, ale nie jestem pewien, czy to możliwe. Chciałby zaprojektować system, który będzie „w 100% sterowany danymi”. Jeśli więc wprowadzimy wystarczającą ilość danych, możemy zdefiniować i wygenerować dowolną aplikację. Udało mi się przynajmniej skłonić go do …
Po pierwsze, chcę powiedzieć, że wydaje się to zaniedbanym pytaniem / obszarem, więc jeśli to pytanie wymaga poprawy, pomóż mi uczynić z tego świetne pytanie, które może przynieść korzyści innym! Szukam porady i pomocy od osób, które wdrożyły rozwiązania rozwiązujące ten problem, a nie tylko pomysłów do wypróbowania. Z mojego …
Nurkuję w projektowaniu opartym na domenie (DDD) i chociaż zagłębiam się w to, jest kilka rzeczy, których nie rozumiem. Jak rozumiem, głównym celem jest rozdzielenie logiki domeny (logiki biznesowej) od infrastruktury (DB, system plików itp.). Zastanawiam się, co się dzieje, gdy mam bardzo złożone zapytania, takie jak Zapytanie dotyczące obliczania …
Podczas pracy nad książką „Implementing Domain Driven Design” autorstwa Vaughna Vernona nie byłem w stanie dobrze zrozumieć, czym właściwie jest ograniczony kontekst. Książka definiuje ograniczony kontekst jako „konceptualną granicę, w której ma zastosowanie model domeny. Zapewnia wszechobecny język, którym posługuje się zespół i który wyraża się w jego starannie zaprojektowanym …
Zajmuję się projektowaniem opartym na domenie i niektóre koncepcje, które napotykam, mają sens z pozoru, ale kiedy myślę o nich bardziej, muszę się zastanawiać, czy to naprawdę dobry pomysł. Na przykład koncepcja agregatów ma sens. Tworzysz małe domeny własności, abyś nie musiał zajmować się całym modelem domeny. Kiedy jednak myślę …
Większość wzorców projektowania taktycznego DDD należy do paradygmatu zorientowanego obiektowo, a model anemiczny opisuje sytuację, w której cała logika biznesowa jest umieszczana w usługach, a nie w obiektach, co czyni je rodzajem DTO. Innymi słowy model anemiczny jest synonimem stylu proceduralnego, który nie jest zalecany w przypadku modelu złożonego. Nie …
Badam wzorce architektoniczne dla opracowywanej przeze mnie aplikacji, a podejście oparte na mikrousługach wydaje się być dobrym wyborem, ale nie jestem pewien, jak poradzić sobie z interakcjami między usługami. Aplikacja zajmuje się przede wszystkim użytkownikami, profilami użytkowników, zdjęciami i tagami reprezentującymi jeden lub wiele profili na zdjęciu. Możliwe są metody …
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.