Это видео недоступно.
Сожалеем об этом.
Warstwa Domeny - Cztery Warstwy #2
HTML-код
- Опубликовано: 14 авг 2024
- Domena steruje procesem biznesowym. Zawiera wszystkie warunki i reguły biznesowe które muszą być spełnione by wykonać jakąś operację. Pominięcie tej warstwy albo zlanie jej z resztą aplikacji powoduje, że kod zaczyna być trudny do zrozumienia i modyfikacji. Opowiem Ci czym jest warstwa Domeny, jak ją znaleźć, wyodrębnić i umiejscowić w kodzie aplikacji.
Kod źródłowy znajdziesz na: github.com/ada...
00:00 Wstęp
01:07 Zacznijmy od (złego) kodu
03:04 Odpowiedzialność warstwy Domeny
03:29 Tylko logika biznesowa
07:31 Bez dostępu do Infrastruktury?
09:18 Umiejscowienie w kodzie aplikacji
09:44 Połączenie z innymi warstwami
10:17 Lecimy do (dobrego) kodu
17:51 Dlaczego wyszło tyle klas po refaktoringu?
19:55 Zakończenie
Keep up the good job!
T. Hanks :)
Fajny materiał 👍 Mam wrażenie, że jest tutaj jednak pewna nieścisłość. Controller odbierający żądania http powinien wg mnie być w warstwie infrastruktury i nie wywoływać akcji bezpośrednio na obiektach domenowych tylko delegować akcje do serwisu aplikacyjnego (use case) znajdującego się w warstwie aplikacji. W serwisie aplikacyjnym właśnie powinien być kod odpowiedzialny za sklejenie procesu czyli pobranie obiektow z bazy, wykonanie na nich akcji, zapisanie do bazy itp. To powoduje, że jeśli obok żądań http będziemy tworzyć zamówienie w reakcji na np. event z kolejki lub inny endpoint to nie będziemy powtarzać tych samych akcji w każdym z tych miejsc.
W każdym razie - samo przedstawienie idei odwrócenia zależności i czystej domeny - super 👍
Mass rację, tak to powinno wyglądać :) Będę o tym opowiadał w kolejnych częściach dotyczących właśnie warstw Aplikacji i UserInterface/Presentation. Skupiam się po kolei na każdej z warstw, żeby film był kompletny ale nie zbyt obszerny.
@@adambanaszkiewicz ok 👍 w takim razie wybiegłem trochę wprzód 😄
Powodzenia w tworzeniu kanału! 👍
Jestem w zespole SRE ale mam ogólnie interesuje mnie wszystko i tak trafiłem na Twój kontent. Podrzuciłem naszym developerom - nawet nie przyznali że nic z tego nie rozumieją tylko zlali. Jak ten development ma się rozwijać?
Miałem styczność z czymś takim i ciężko to niestety przeskoczyć. Każdy z nas jest inny - jedni chcą się rozwijać i uczyć, innych zadowala to co mają. Jeśli chcesz to napisz do mnie na LinkedIn, podrzucę Ci trochę info jak można spróbować rozruszać zastygłe tryby w firmie :) Pamiętaj, że to tylko sugestie, i nie w każdej sytuacji mogą zadziałać, to zależy od człowieka z którym masz styczność :)
kurde, ja siedze w aplikacji 13sto letniej, napisanej w zend 1 oraz laminas :D i mimo to, że to tak potężne legacy to w każdym module nowy kod wyciągamy jak tylko się da do warstw właśnie :) aplikacja, domena, infra - jedynie kontrolery trzymamy w starym miejscu :) Podział kontextów jest ubogi, bo bazujemy na modułach wydzielonych przez rzeczowniki (czyli moduł = tabelka w bazie :) ) a nie wydzielonych na zachowaniach. No ale tak czy siak, bez bounded contextów nowy kod i ląduje z pdziałem na warstwy, które są pisane w 100% w oderwaniu od frameworka, czyste php :) Da się, tylko trzeba chiceć :)
@@DanielŚmigiela Jak są ludzie którzy chcą coś zmienić to jest więcej niż pół sukcesu :)