<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Komentarze do Kursy.NullPointerException.pl	</title>
	<atom:link href="https://kursy.nullpointerexception.pl/comments/feed/" rel="self" type="application/rss+xml" />
	<link>https://kursy.nullpointerexception.pl</link>
	<description></description>
	<lastBuildDate>Sun, 16 Apr 2023 17:42:00 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>
		Skomentuj Warsztat Architektura Warstwowa – video, którego autorem jest Mateusz Dąbrowski		</title>
		<link>https://kursy.nullpointerexception.pl/warsztat-architektura-warstwowa/warsztat-architektura-warstwowa-film/#comment-4251</link>

		<dc:creator><![CDATA[Mateusz Dąbrowski]]></dc:creator>
		<pubDate>Sun, 16 Apr 2023 17:42:00 +0000</pubDate>
		<guid isPermaLink="false">https://kursy.nullpointerexception.pl/warsztat-architektura-warstwowa/warsztat-architektura-warstwowa-film/#comment-4251</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://kursy.nullpointerexception.pl/warsztat-architektura-warstwowa/warsztat-architektura-warstwowa-film/#comment-4250&quot;&gt;Marcin Topolski&lt;/a&gt;.

Możesz też trzymać ten interfejs w pakiecie dao nie jest to zabronione, ani w żaden sposób narzucone przez jakieś reguły, chociaż nie zawsze ma to sens.
W tym przypadku wydało mi się, że  bardziej sensowne będzie trzymanie go w tym miejscu. Zanim zacząłem dodawać ten interfejs, powiedziałem, że w takiej małej aplikacji dodawanie tego interfejsu nie ma za bardzo sensu, bo tak naprawdę nie potrzebujemy tej abstrakcji. Chciałem tylko zademonstrować, jak by to wyglądało.

W dużej aplikacji, gdzie taka abstrakcja byłaby już (może) przydatna. Taki interfejs raczej nie znajdowałby się w tym samym pakiecie wraz z implementacją. Tylko np. znajdowałby się w pakiecie z domeną, a implementacja znajdowałaby się w pakiecie z infrastrukturą (tak jak jest to w architekturze Heksagonalnej).

Interfejs wprowadza abstrakcję. Czyli oddziela implementację od interfejsu klasy. Dzięki temu możesz używać interfejsu klasy i jej implementacji osobno (Wiec, dlaczego trzymać to razem?).

W tym przypadku tak naprawdę nie ma to znaczenia, jedni będą trzymali w dao inni gdzie indziej.

Co do fasady, to dao tak naprawdę jest fasadą dla EntityManagera. Czy chciałbyś jeszcze robić dodatkową fasadę do tego? Wydaje mi się to bardzo nadmiarowe.]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://kursy.nullpointerexception.pl/warsztat-architektura-warstwowa/warsztat-architektura-warstwowa-film/#comment-4250">Marcin Topolski</a>.</p>
<p>Możesz też trzymać ten interfejs w pakiecie dao nie jest to zabronione, ani w żaden sposób narzucone przez jakieś reguły, chociaż nie zawsze ma to sens.<br />
W tym przypadku wydało mi się, że  bardziej sensowne będzie trzymanie go w tym miejscu. Zanim zacząłem dodawać ten interfejs, powiedziałem, że w takiej małej aplikacji dodawanie tego interfejsu nie ma za bardzo sensu, bo tak naprawdę nie potrzebujemy tej abstrakcji. Chciałem tylko zademonstrować, jak by to wyglądało.</p>
<p>W dużej aplikacji, gdzie taka abstrakcja byłaby już (może) przydatna. Taki interfejs raczej nie znajdowałby się w tym samym pakiecie wraz z implementacją. Tylko np. znajdowałby się w pakiecie z domeną, a implementacja znajdowałaby się w pakiecie z infrastrukturą (tak jak jest to w architekturze Heksagonalnej).</p>
<p>Interfejs wprowadza abstrakcję. Czyli oddziela implementację od interfejsu klasy. Dzięki temu możesz używać interfejsu klasy i jej implementacji osobno (Wiec, dlaczego trzymać to razem?).</p>
<p>W tym przypadku tak naprawdę nie ma to znaczenia, jedni będą trzymali w dao inni gdzie indziej.</p>
<p>Co do fasady, to dao tak naprawdę jest fasadą dla EntityManagera. Czy chciałbyś jeszcze robić dodatkową fasadę do tego? Wydaje mi się to bardzo nadmiarowe.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Skomentuj Warsztat Architektura Warstwowa – video, którego autorem jest Marcin Topolski		</title>
		<link>https://kursy.nullpointerexception.pl/warsztat-architektura-warstwowa/warsztat-architektura-warstwowa-film/#comment-4250</link>

		<dc:creator><![CDATA[Marcin Topolski]]></dc:creator>
		<pubDate>Sun, 16 Apr 2023 15:46:07 +0000</pubDate>
		<guid isPermaLink="false">https://kursy.nullpointerexception.pl/warsztat-architektura-warstwowa/warsztat-architektura-warstwowa-film/#comment-4250</guid>

					<description><![CDATA[hej, 
w okolicach 1godziny kursu dodajesz interface ProductDaoInf do pakietu service. Czy nie powinien taki interface znajdować się w pakiecie dao i być facade dla dostępu do ProductDao? Jeśli błędnie myślę to proszę wytłumacz mi Twoje działanie.]]></description>
			<content:encoded><![CDATA[<p>hej,<br />
w okolicach 1godziny kursu dodajesz interface ProductDaoInf do pakietu service. Czy nie powinien taki interface znajdować się w pakiecie dao i być facade dla dostępu do ProductDao? Jeśli błędnie myślę to proszę wytłumacz mi Twoje działanie.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Skomentuj Warsztat Architektura Warstwowa – video, którego autorem jest Kacper Powrózek		</title>
		<link>https://kursy.nullpointerexception.pl/warsztat-architektura-warstwowa/warsztat-architektura-warstwowa-film/#comment-2220</link>

		<dc:creator><![CDATA[Kacper Powrózek]]></dc:creator>
		<pubDate>Thu, 04 Aug 2022 20:25:13 +0000</pubDate>
		<guid isPermaLink="false">https://kursy.nullpointerexception.pl/warsztat-architektura-warstwowa/warsztat-architektura-warstwowa-film/#comment-2220</guid>

					<description><![CDATA[Super, dzięki za jasne odpowiedzi :)]]></description>
			<content:encoded><![CDATA[<p>Super, dzięki za jasne odpowiedzi 🙂</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Skomentuj Warsztat Architektura Warstwowa – video, którego autorem jest Mateusz Dąbrowski		</title>
		<link>https://kursy.nullpointerexception.pl/warsztat-architektura-warstwowa/warsztat-architektura-warstwowa-film/#comment-2205</link>

		<dc:creator><![CDATA[Mateusz Dąbrowski]]></dc:creator>
		<pubDate>Thu, 04 Aug 2022 08:14:14 +0000</pubDate>
		<guid isPermaLink="false">https://kursy.nullpointerexception.pl/warsztat-architektura-warstwowa/warsztat-architektura-warstwowa-film/#comment-2205</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://kursy.nullpointerexception.pl/warsztat-architektura-warstwowa/warsztat-architektura-warstwowa-film/#comment-2204&quot;&gt;Kacper Powrózek&lt;/a&gt;.

Dzięki za komentarz i miłe słowa 😉
Jeśli chodzi o pytania to:

Ad.1. Dao to nie repozytorium. Inaczej implemntuje się wzorzec dao inaczej repozytorium, więc nazywanie dao repozytoriu to błąd. Ale rozumiem, że tylko używacie adnotacji @Repository w Dao. I to nie jest jakiś duży błąd, co najwyżej błąd semantyczny (ja raczej tak nie robię, dlatego tak powiedziałem w filmie). Można zrobić własną adnotację i trochę to poprawić. Nie powiedziałem o tym, ale można zrobić adnotację @Dao (czy jakąś inną) i używać jej jak każdej innej adnotacji springowej, do tworzenia beanów. Musi ona tylko dziedziczyć po adnotacji np. @Component. I chyba być w miejscu, gdzie działa component scan(nie pamiętam dokładnie).

Ad.2. Jeśli chodzi o wstrzykiwanie to powinno być private final. Czasem podczas nagrywania zapominam o rzeczach, o których normalnie nigdy nie zapominam 😉

Ad.3. Dependency Inversion Principal - trudno powiedzieć gdzie stosować, a gdzie nie, dlatego trudno byłoby zrobić jakiś materiał o tym. Na pewno w większych systemach, gdzie będziesz miał dużo integracji z różnymi usługami, narzędziami, tam warto te narzędzia oddzielać od systemu, gdzie domena jest trochę bardziej skomplikowana, tam warto ją oddzielić od innych elementów systemu. Na pewno w małych aplikacjach CRUD nie będziesz miał z tym problemu. Natomiast zawsze jest tak, że im więcej kodu tym pojawia się więcej różnych problemów. I DIP jest jednym ze sposobów, żeby te problemy ogarniać, ale to jeden z setki takich sposobów, których będziesz uczył się przez lata 😉 Zapraszam też do warsztatu o architekturze heksagonalnej, która właściwie jest na tym zbudowana, gdzie domena jest oddzielona od reszty systemu. Tam jest to pokazane na przykładzie architektury.]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://kursy.nullpointerexception.pl/warsztat-architektura-warstwowa/warsztat-architektura-warstwowa-film/#comment-2204">Kacper Powrózek</a>.</p>
<p>Dzięki za komentarz i miłe słowa 😉<br />
Jeśli chodzi o pytania to:</p>
<p>Ad.1. Dao to nie repozytorium. Inaczej implemntuje się wzorzec dao inaczej repozytorium, więc nazywanie dao repozytoriu to błąd. Ale rozumiem, że tylko używacie adnotacji @Repository w Dao. I to nie jest jakiś duży błąd, co najwyżej błąd semantyczny (ja raczej tak nie robię, dlatego tak powiedziałem w filmie). Można zrobić własną adnotację i trochę to poprawić. Nie powiedziałem o tym, ale można zrobić adnotację @Dao (czy jakąś inną) i używać jej jak każdej innej adnotacji springowej, do tworzenia beanów. Musi ona tylko dziedziczyć po adnotacji np. @Component. I chyba być w miejscu, gdzie działa component scan(nie pamiętam dokładnie).</p>
<p>Ad.2. Jeśli chodzi o wstrzykiwanie to powinno być private final. Czasem podczas nagrywania zapominam o rzeczach, o których normalnie nigdy nie zapominam 😉</p>
<p>Ad.3. Dependency Inversion Principal &#8211; trudno powiedzieć gdzie stosować, a gdzie nie, dlatego trudno byłoby zrobić jakiś materiał o tym. Na pewno w większych systemach, gdzie będziesz miał dużo integracji z różnymi usługami, narzędziami, tam warto te narzędzia oddzielać od systemu, gdzie domena jest trochę bardziej skomplikowana, tam warto ją oddzielić od innych elementów systemu. Na pewno w małych aplikacjach CRUD nie będziesz miał z tym problemu. Natomiast zawsze jest tak, że im więcej kodu tym pojawia się więcej różnych problemów. I DIP jest jednym ze sposobów, żeby te problemy ogarniać, ale to jeden z setki takich sposobów, których będziesz uczył się przez lata 😉 Zapraszam też do warsztatu o architekturze heksagonalnej, która właściwie jest na tym zbudowana, gdzie domena jest oddzielona od reszty systemu. Tam jest to pokazane na przykładzie architektury.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Skomentuj Warsztat Architektura Warstwowa – video, którego autorem jest Kacper Powrózek		</title>
		<link>https://kursy.nullpointerexception.pl/warsztat-architektura-warstwowa/warsztat-architektura-warstwowa-film/#comment-2204</link>

		<dc:creator><![CDATA[Kacper Powrózek]]></dc:creator>
		<pubDate>Wed, 03 Aug 2022 22:58:32 +0000</pubDate>
		<guid isPermaLink="false">https://kursy.nullpointerexception.pl/warsztat-architektura-warstwowa/warsztat-architektura-warstwowa-film/#comment-2204</guid>

					<description><![CDATA[Wow, super materiał. Rzetelnie i konkretnie, dużo wiedzy mi się ugruntowało dzięki temu warsztatowi i z całą pewnością niedługo zakupię kolejny kurs z Twojej strony - myślę że na drugi ogień pójdzie ten o Hibernate :)

Podczas oglądania filmiku nasunęło mi się parę pytań:

1. W moim obecnym projekcie do niedawna obowiązywał głównie wzorzec DAO (teraz trwa migracja właśnie na Hibernate i jego repositories) - dostęp do danych był realizowany przy użyciu technologii QueryDsl. Klasy DAO, np. RequestDao, StepDao itp. są u mnie mimo wszystko oznaczone adnotacją &quot;@Repository&quot;, mimo że stricte repozytorium nie są - w materiale (okolice 45:51) nad klasą ProductDao umyślnie umieściłeś adnotację &quot;@Component&quot;, tłumacząc że &quot;nie mamy w Springu adnotacji @Dao, więc korzystamy z adnotacji @Component&quot; - pytanie brzmi czy w takim razie umieszczenie &quot;@Repository&quot; nad klasą DAO jest jakiegoś rodzaju błędem lub mylącą praktyką? DAOsy są niejako w zastępstwie repozytoriów, dlatego nie widziałem w tym do tej pory nic sprzecznego, natomiast patrząc jak wyżej to przedstawiłeś pojawiło mi się w głowie takie pytanie.

2. U mnie w projekcie wstrzykiwane pola są deklarowane jako &quot;private final&quot;, w materiale deklarujesz je tylko jako &quot;private&quot; -&#062; wydaje mi się, że forma &quot;private final&quot; jest preferowana, nie wiem czy opuściłeś &quot;final&quot;, żeby nie wprowadzać dodatkowego zamieszania do kodu, czy jest jakiś inny powód?

3. To już może nie pytanie, a sugestia na artykuł/warsztat/kurs w przyszłości - zastanowiło mnie w jakich konkretnie przypadkach Dependency Inversion Principal jest korzystne do użycia. Wydaje mi się że w materiale padało tylko &quot;w niektórych przypadkach DIP jest warto wykorzystać&#039;&quot;, ale nie był to temat rozwinięty, ale może coś pominąłem.

Dzięki z góry za odpowiedzi i pozdrawiam,
Kacper]]></description>
			<content:encoded><![CDATA[<p>Wow, super materiał. Rzetelnie i konkretnie, dużo wiedzy mi się ugruntowało dzięki temu warsztatowi i z całą pewnością niedługo zakupię kolejny kurs z Twojej strony &#8211; myślę że na drugi ogień pójdzie ten o Hibernate 🙂</p>
<p>Podczas oglądania filmiku nasunęło mi się parę pytań:</p>
<p>1. W moim obecnym projekcie do niedawna obowiązywał głównie wzorzec DAO (teraz trwa migracja właśnie na Hibernate i jego repositories) &#8211; dostęp do danych był realizowany przy użyciu technologii QueryDsl. Klasy DAO, np. RequestDao, StepDao itp. są u mnie mimo wszystko oznaczone adnotacją &#8222;@Repository&#8221;, mimo że stricte repozytorium nie są &#8211; w materiale (okolice 45:51) nad klasą ProductDao umyślnie umieściłeś adnotację &#8222;@Component&#8221;, tłumacząc że &#8222;nie mamy w Springu adnotacji @Dao, więc korzystamy z adnotacji @Component&#8221; &#8211; pytanie brzmi czy w takim razie umieszczenie &#8222;@Repository&#8221; nad klasą DAO jest jakiegoś rodzaju błędem lub mylącą praktyką? DAOsy są niejako w zastępstwie repozytoriów, dlatego nie widziałem w tym do tej pory nic sprzecznego, natomiast patrząc jak wyżej to przedstawiłeś pojawiło mi się w głowie takie pytanie.</p>
<p>2. U mnie w projekcie wstrzykiwane pola są deklarowane jako &#8222;private final&#8221;, w materiale deklarujesz je tylko jako &#8222;private&#8221; -&gt; wydaje mi się, że forma &#8222;private final&#8221; jest preferowana, nie wiem czy opuściłeś &#8222;final&#8221;, żeby nie wprowadzać dodatkowego zamieszania do kodu, czy jest jakiś inny powód?</p>
<p>3. To już może nie pytanie, a sugestia na artykuł/warsztat/kurs w przyszłości &#8211; zastanowiło mnie w jakich konkretnie przypadkach Dependency Inversion Principal jest korzystne do użycia. Wydaje mi się że w materiale padało tylko &#8222;w niektórych przypadkach DIP jest warto wykorzystać'&#8221;, ale nie był to temat rozwinięty, ale może coś pominąłem.</p>
<p>Dzięki z góry za odpowiedzi i pozdrawiam,<br />
Kacper</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Skomentuj Warsztat Architektura Heksagonalna – video, którego autorem jest mateusz		</title>
		<link>https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat-architektura-heksagonalna-video/#comment-1616</link>

		<dc:creator><![CDATA[mateusz]]></dc:creator>
		<pubDate>Wed, 09 Feb 2022 22:01:10 +0000</pubDate>
		<guid isPermaLink="false">https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat/film/#comment-1616</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat-architektura-heksagonalna-video/#comment-1612&quot;&gt;Kamil Demurat&lt;/a&gt;.

Jasne, można jak najbardziej stworzyć moduły gradlowe, czy w mavenie mavenowe. Wspomniałem o tym gdy mówiłem o wadach tej architektury (tuż przed kodowaniem). 
W warsztacie nie pokazywałem, tego na modułach, bo trochę zaciemniają one strukturę aplikacji (przynajmniej z mojej perspektywy osoby opowiadającej o tym), a chciałem, żeby ten podział był dobrze widoczny w  warsztacie i bardzo  przejrzysty. Myślę, że przerobienie tego na moduły to nie jest duży problem i każdy powinien sobie z tym poradzić. Jeśli trzeba to mogę pomóc 😉]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat-architektura-heksagonalna-video/#comment-1612">Kamil Demurat</a>.</p>
<p>Jasne, można jak najbardziej stworzyć moduły gradlowe, czy w mavenie mavenowe. Wspomniałem o tym gdy mówiłem o wadach tej architektury (tuż przed kodowaniem).<br />
W warsztacie nie pokazywałem, tego na modułach, bo trochę zaciemniają one strukturę aplikacji (przynajmniej z mojej perspektywy osoby opowiadającej o tym), a chciałem, żeby ten podział był dobrze widoczny w  warsztacie i bardzo  przejrzysty. Myślę, że przerobienie tego na moduły to nie jest duży problem i każdy powinien sobie z tym poradzić. Jeśli trzeba to mogę pomóc 😉</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Skomentuj Warsztat Architektura Heksagonalna – video, którego autorem jest Kamil Demurat		</title>
		<link>https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat-architektura-heksagonalna-video/#comment-1612</link>

		<dc:creator><![CDATA[Kamil Demurat]]></dc:creator>
		<pubDate>Wed, 09 Feb 2022 18:46:13 +0000</pubDate>
		<guid isPermaLink="false">https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat/film/#comment-1612</guid>

					<description><![CDATA[Mateusz, czy da się taką architekturę zaimplementować przy pomocy modułów gradle&#039;owych? Zamiast wszystko pakować do katalogu src, może warto potworzyć odpowiednie moduły? Wtedy nie mamy takiego &quot;bałaganu&quot;, w którym wszystko mieści się w jednym katalogu.]]></description>
			<content:encoded><![CDATA[<p>Mateusz, czy da się taką architekturę zaimplementować przy pomocy modułów gradle&#8217;owych? Zamiast wszystko pakować do katalogu src, może warto potworzyć odpowiednie moduły? Wtedy nie mamy takiego &#8222;bałaganu&#8221;, w którym wszystko mieści się w jednym katalogu.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Skomentuj Warsztat Architektura Heksagonalna – video, którego autorem jest mateusz		</title>
		<link>https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat-architektura-heksagonalna-video/#comment-1573</link>

		<dc:creator><![CDATA[mateusz]]></dc:creator>
		<pubDate>Tue, 01 Feb 2022 12:32:04 +0000</pubDate>
		<guid isPermaLink="false">https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat/film/#comment-1573</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat-architektura-heksagonalna-video/#comment-1572&quot;&gt;Przemysław Kondzierski&lt;/a&gt;.

Jasne. Ja zawsze powtarzam, że trzeba mapować tam, gdzie jest taka potrzeba. Jak nie ma potrzeby, to często jest to tylko sztuka dla sztuki, albo wymusza to jakaś odgórnie przyjęta konwencja/architektura. Wszystko trzeba robić z głową 😉]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat-architektura-heksagonalna-video/#comment-1572">Przemysław Kondzierski</a>.</p>
<p>Jasne. Ja zawsze powtarzam, że trzeba mapować tam, gdzie jest taka potrzeba. Jak nie ma potrzeby, to często jest to tylko sztuka dla sztuki, albo wymusza to jakaś odgórnie przyjęta konwencja/architektura. Wszystko trzeba robić z głową 😉</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Skomentuj Warsztat Architektura Heksagonalna – video, którego autorem jest Przemysław Kondzierski		</title>
		<link>https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat-architektura-heksagonalna-video/#comment-1572</link>

		<dc:creator><![CDATA[Przemysław Kondzierski]]></dc:creator>
		<pubDate>Tue, 01 Feb 2022 12:26:14 +0000</pubDate>
		<guid isPermaLink="false">https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat/film/#comment-1572</guid>

					<description><![CDATA[W pracy głównie korzystamy z DTO i encji, ale widzę, że mają tutaj też trochę bałaganu. Najczęściej jest to mapowania jednokrotne. Parę bardziej skomplikowanych wejść ma więcej zdefiniowanych mapperów. Może faktycznie, jak trafię do większego projektu, to uświadczę tego (narazie stanowisko juniorskie, więc mogę też wszystkiego nie widzieć).]]></description>
			<content:encoded><![CDATA[<p>W pracy głównie korzystamy z DTO i encji, ale widzę, że mają tutaj też trochę bałaganu. Najczęściej jest to mapowania jednokrotne. Parę bardziej skomplikowanych wejść ma więcej zdefiniowanych mapperów. Może faktycznie, jak trafię do większego projektu, to uświadczę tego (narazie stanowisko juniorskie, więc mogę też wszystkiego nie widzieć).</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Skomentuj Warsztat Architektura Heksagonalna – video, którego autorem jest mateusz		</title>
		<link>https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat-architektura-heksagonalna-video/#comment-1565</link>

		<dc:creator><![CDATA[mateusz]]></dc:creator>
		<pubDate>Sun, 30 Jan 2022 21:43:38 +0000</pubDate>
		<guid isPermaLink="false">https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat/film/#comment-1565</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat-architektura-heksagonalna-video/#comment-1564&quot;&gt;Przemysław Kondzierski&lt;/a&gt;.

Oczywiście w prostych aplikacjach nie będzie to miało za bardzo sensu, ale też w takich aplikacjach nie stosuje się architektury heksagonalnej. Natomiast w większych aplikacjach, to często tak po prostu wychodzi. Encja nie jest taka sama jak klasa modelu (wiec musisz przemapować), a na końcu nie możesz pokazać całej zawartości klasy modelu w endpoincie i też musisz przemapować na dto.

W warsztacie może tego jakoś specjalnie nie widać, bo bardziej przedstawiam to jako założenia tej architektury, ale w dużych aplikacjach, gdzie model domenowy jest skomplikowany, gdzie technicznie aplikacja też jest skomplikowana, takie podejście to norma niezależnie od architektury. Gdy masz aplikację, która używa bazy danych, do tego kilku webserwisów, to cały czas musisz mapować z jednych obiektów na inne.

Oczywiście, jeśli nie potrzebujesz mapowania, to nie rób go na siłę, bo to strata czasu i energii.]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://kursy.nullpointerexception.pl/warsztat-architektura-heksagonalna/warsztat-architektura-heksagonalna-video/#comment-1564">Przemysław Kondzierski</a>.</p>
<p>Oczywiście w prostych aplikacjach nie będzie to miało za bardzo sensu, ale też w takich aplikacjach nie stosuje się architektury heksagonalnej. Natomiast w większych aplikacjach, to często tak po prostu wychodzi. Encja nie jest taka sama jak klasa modelu (wiec musisz przemapować), a na końcu nie możesz pokazać całej zawartości klasy modelu w endpoincie i też musisz przemapować na dto.</p>
<p>W warsztacie może tego jakoś specjalnie nie widać, bo bardziej przedstawiam to jako założenia tej architektury, ale w dużych aplikacjach, gdzie model domenowy jest skomplikowany, gdzie technicznie aplikacja też jest skomplikowana, takie podejście to norma niezależnie od architektury. Gdy masz aplikację, która używa bazy danych, do tego kilku webserwisów, to cały czas musisz mapować z jednych obiektów na inne.</p>
<p>Oczywiście, jeśli nie potrzebujesz mapowania, to nie rób go na siłę, bo to strata czasu i energii.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
