Zasadniczą częścią Domain Driven Design jest konsekwentne stosowanie wszechobecnego języka w całym systemie - w rozmowach, kodzie, schemacie bazy danych, interfejsie użytkownika, testach itp.
Jestem zaangażowany w projekt, w którym istnieje już dobrze ugruntowany język domen, zdefiniowany przez międzynarodową organizację normalizacyjną.
Jednak praca, którą wykonujemy, dotyczy publicznej witryny internetowej, a „prawidłowe” warunki dla domeny niekoniecznie są takie, jak opinia publiczna zazwyczaj ich używa i rozumie.
Kompromis, którego obecnie używamy, polega na stosowaniu „oficjalnych” warunków wszędzie, z wyjątkiem naszych kryteriów akceptacji, które odnoszą się do komponentów interfejsu użytkownika, w których używamy nieformalnych nazw.
Czy to wydaje się rozsądnym podejściem?
źródło
Odpowiedzi:
Tak, to wydaje się rozsądne. Jeśli docelowi odbiorcy nie rozumieją warunków Twojego języka lub źle je interpretują, pierwszeństwo ma użyteczność dla użytkownika końcowego.
Program lub treść, której nie rozumie typowy użytkownik, ma niewielką wartość. Co więcej, jeśli chcesz tylko przedstawić im uproszczoną wierzchołek góry lodowej, ponieważ nie są i nigdy nie będą ekspertami w dziedzinie.
Zwykle, kiedy mówisz o domenie podczas programowania, wszyscy rozumieją język, ponieważ jest on dokładny, a wszyscy ludzie są w domenie. Ale jeśli wartość biznesowa powstaje w wyniku komunikacji treści z osobami z zewnątrz domeny, zrób to tak prosto, jak to możliwe. Używaj sformułowań i języków, które są najmniej zrozumiane, i używaj ich w interfejsie użytkownika.
Zachowaj dokładny język w kodzie i do komunikowania się z osobami zainteresowanymi domeną. Są to ludzie, którzy mają specyfikacje i którzy są kluczowymi użytkownikami aplikacji, z którymi omawiasz logiczne szczegóły biznesowe. W rzadkim przypadku, w którym naprawdę omawiasz większość logicznych szczegółów biznesowych z użytkownikami, którzy nie mają pojęcia o domenie i nie musisz zagłębiać się w nią, a następnie włączyć ich język do języka domeny, biorąc pod uwagę, że mieć wspólny, jednoznaczny język w ogóle (co prawdopodobnie nie jest prawdą).
Ale upewnij się, że deweloperzy frontonu wiedzą o twoich nieformalnych warunkach i odpowiadających im warunkach domeny.
źródło
Myślę, że najłatwiejszym sposobem na to byłoby narysowanie linii dokładnie tam, gdzie byś ją narysował, gdybyś przedstawiał interfejs w zupełnie innym języku.
Gdyby Twoi użytkownicy końcowi chcieli zobaczyć rzeczy w sanskrycie, w jaki sposób można zlikwidować różnicę między interfejsem użytkownika a kodem (i inną komunikacją wewnętrzną).
źródło