Domain-Driven Design dla .NET Core. Jak rozwiązywać złożone problemy podczas projektowania architektury aplikacji
- Autor:
- Alexey Zimarev
- Wydawnictwo:
- Helion
- Ocena:
- 2.8/6 Opinie: 5
- Stron:
- 424
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi

Opis ebooka: Domain-Driven Design dla .NET Core. Jak rozwiązywać złożone problemy podczas projektowania architektury aplikacji
Wdrożenie zasad projektowania dziedzinowego (DDD) jest szansą na uzyskanie doskonałych wyników projektowania oprogramowania dla złożonych wymagań biznesowych. Aby podejście DDD ujawniło swoje zalety, konieczne jest zrozumienie potrzeb użytkowników i zidentyfikowanie właściwych problemów do rozwiązania. Dopiero potem można przystąpić do budowania modeli. Zaangażowanie zainteresowanych stron biznesowych w ten proces nie zawsze jednak przebiega efektywnie. Konieczne jest zrozumienie natury modeli dziedzinowych opartych na zachowaniu oraz tego, jaką rolę odgrywają one w budowie zwinnych i zmodularyzowanych systemów.
Dzięki tej książce zrozumiesz praktyczne znaczenie złożoności dziedziny i behawioralnych aspektów języka dziedzinowego. Poznasz podstawowe zasady DDD i nauczysz się używać takich narzędzi jak EventStorming, Event Sourcing i CQRS. Dowiesz się, jak stosuje się DDD do różnych stylów architektonicznych, takich jak REST, systemy reaktywne i mikrousługi. Nauczysz się pracować we frameworku .NET Core 2.2, aby przetłumaczyć modele dziedzinowe na wykonywalny kod C#, oraz Vue.js, aby zbudować frontend aplikacji. Nie zabrakło tutaj również zagadnień refaktoryzacji kodu, numerowania wersji zdarzeń i migracji. W rezultacie poszczególne zespoły w organizacji będą mogły pracować elastyczniej i efektywniej dzięki ulepszonym usługom i oddzielonym interakcjom.
W książce między innymi:
- angażowanie interesariuszy biznesowych do rozwiązywania złożoności dziedziny
- koncepcja kontekstu ograniczonego i agregatu
- projektowanie modeli tymczasowych na podstawie zachowania
- wzorzec CQRS i modele odczytu wykorzystujące rzutowania
- jednokierunkowy przepływ interfejsu użytkownika w Vue.js
- praktyczne stosowanie zasad projektowania dziedzinowego
Programowanie dziedzinowe: tak się trafia w sedno potrzeb!
Rozwiązywanie problemów złożoności w sercu oprogramowania poprzez zastosowanie zasad projektowania dziedzinowego w praktyce
Programiści na całym świecie w szybkim tempie wdrażają zasady projektowania dziedzinowego, aby osiągać doskonałe wyniki podczas pisania oprogramowania dla złożonych wymagań biznesowych. Ta książka pomoże Ci zaangażować zainteresowane strony biznesowych w proces wyboru oprogramowania, które planujesz dla nich zbudować. Rozumiejąc tymczasową naturę modeli dziedzinowych opartych na zachowaniu, będziesz w stanie budować szczuplejsze, bardziej zwinne i zmodularyzowane systemy.
Zaczniesz od odkrycia złożoności dziedziny i dowiesz się, jak uchwycić behawioralne aspekty języka dziedzinowego. Poznasz metodę EventStorming, a następnie przejdziesz do tworzenia nowego projektu we frameworku .NET Core 2.2. Napiszesz kod, który przełoży Twoje zdarzenia z karteczek samoprzylepnych na język C#. Z tej książki dowiesz się, jak używać agregatów do obsługi poleceń i generowania zdarzeń. W miarę postępów nauczysz się korzystać z kontekstów ograniczonych, mapy kontekstów, pozyskiwania zdarzeń oraz wzorca CQRS. Po przetłumaczeniu modeli dziedzinowych na wykonywalny kod C# utworzysz dla swojej aplikacji frontend przy użyciu frameworku Vue.js. Nauczysz się również, jak refaktoryzować swój kod i poznasz podstawowe zagadnienia związane z numerowaniem wersji zdarzeń i migracją.
Po lekturze tej książki poświęconej projektowaniu dziedzinowemu zyskasz poczucie pewności siebie, aby móc wdrożyć podejście DDD w swojej organizacji i móc odkrywać nowe techniki, które uzupełnią to, czego się nauczyłeś.
Co może zaoferować Ci ta książka:
- Będziesz mógł odkrywać i rozwiązywać złożoność dziedziny razem z interesariuszami biznesowymi
- Nauczysz się unikać typowych pułapek podczas tworzenia modelu dziedziny
- Przestudiujesz koncepcję kontekstu ograniczonego i agregatu
- Będziesz projektować i budować tymczasowe modele na podstawie zachowania, a nie tylko danych
- Dowiesz się, jakie są zalety i wady pozyskiwania zdarzeń
- Poznasz wzorzec CQRS i odpowiednie modele odczytu wykorzystujące rzutowania
- Poćwiczysz budowanie jednokierunkowego przepływu interfejsu użytkownika przy użyciu Vue.js.
- Dowiesz się, dlaczego interfejs użytkownika oparty na zadaniach jest zgodny z zasadami projektowania dziedzinowego
Wybrane bestsellery
-
Developers across the world are rapidly adopting DDD principles to deliver powerful results when writing software that deals with complex business requirements. This book will guide you in involving business stakeholders when choosing the software you are planning to build for them. You will be a...
Hands-On Domain-Driven Design with .NET Core. Tackling complexity in the heart of software by putting DDD principles into practice Hands-On Domain-Driven Design with .NET Core. Tackling complexity in the heart of software by putting DDD principles into practice
-
Oto pierwszy tom dzieła, które stanowi inspirujące spojrzenie na sztuczną inteligencję. Jego zrozumienie nie wymaga wybitnej znajomości informatyki i matematyki. Książka jest wspaniałą syntezą wczesnych i późniejszych koncepcji, a także technik, przeprowadzoną we frameworku idei, metod i technolo...
Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 1 Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 1
(101.40 zł najniższa cena z 30 dni)126.75 zł
169.00 zł(-25%) -
To drugi tom klasycznego podręcznika wiedzy o sztucznej inteligencji. Podobnie jak w wypadku pierwszej części, lektura tej książki nie wymaga wybitnej znajomości tematu. Dzięki przejrzystości tekstu i umiejętnemu unikaniu nadmiernego formalizmu można w dość łatwy sposób zrozumieć kluczowe idee i ...
Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 2 Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 2
(77.40 zł najniższa cena z 30 dni)96.75 zł
129.00 zł(-25%) -
Ten praktyczny przewodnik zawiera szeroki przegląd strategii, wzorców i form testowania oprogramowania, ułatwiających dobór ścieżek i podejść do konkretnych projektów w zależności od zakresu, budżetu i ram czasowych. Książka uczy przydatnych umiejętności w zakresie przeprowadzania testów wydajnoś...
Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości
(53.40 zł najniższa cena z 30 dni)66.75 zł
89.00 zł(-25%) -
Książka tak, napisana z myślą o doświadczonych programistach, zawiera wiele przykładowych programów, które pozwolą Ci poznać praktyczne tajniki języka, takie jak typy ogólne, LINQ oraz techniki programowania asynchronicznego. Następnie poznasz najnowsze możliwości platformy .NET 6 oraz języka C# ...
C# 10. Programowanie. Tworzenie aplikacji Windows, internetowych i biurowych C# 10. Programowanie. Tworzenie aplikacji Windows, internetowych i biurowych
(101.40 zł najniższa cena z 30 dni)126.75 zł
169.00 zł(-25%) -
Konteneryzacja jest alternatywą dla wirtualizacji. W pracy z nowo wdrażanymi, testowanymi czy usprawnianymi aplikacjami pozwala ograniczyć wykorzystanie zasobów i uruchamiać niezależnie wiele aplikacji na jednej maszynie. Kontenery są od siebie całkowicie odizolowane, nic o sobie nawzajem nie ...
Kubernetes. Kurs video. Uruchamianie, skalowanie i zarządzanie aplikacjami w kontenerach Kubernetes. Kurs video. Uruchamianie, skalowanie i zarządzanie aplikacjami w kontenerach
(59.60 zł najniższa cena z 30 dni)67.05 zł
149.00 zł(-55%) -
O tym, ile problemów sprawia niedbale napisany kod, wie każdy programista. Nie wszyscy jednak wiedzą, jak napisać ten świetny, „czysty” kod i czym właściwie powinien się on charakteryzować. Co więcej – jak odróżnić dobry kod od złego? Odpowiedź na te pytania oraz sposoby tworzen...(47.40 zł najniższa cena z 30 dni)
59.25 zł
79.00 zł(-25%) -
Ta książka powinna zostać przestudiowana przez każdego architekta nowoczesnych systemów rozproszonych. Jej celem jest pokazanie sposobów rozwiązywania trudnych problemów związanych z projektowaniem takiego oprogramowania. W krytyczny i wszechstronny sposób omówiono w niej najważniejsze problemy u...
Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje
(59.40 zł najniższa cena z 30 dni)74.25 zł
99.00 zł(-25%) -
Po przyswojeniu zagadnień związanych z językiem C# i aplikacjami konsoli dowiesz się, jak tworzyć praktyczne aplikacje i usługi z wykorzystaniem biblioteki ASP.NET Core, a także wzorzec MVC i technologię Blazor. Zapoznasz się z metodami stosowania wielozadaniowości do poprawy wydajności i skalowa...
C# 10 i .NET 6 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 6, Blazor i EF Core 6 w Visual Studio 2022 i Visual Studio Code. Wydanie VI C# 10 i .NET 6 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 6, Blazor i EF Core 6 w Visual Studio 2022 i Visual Studio Code. Wydanie VI
(47.90 zł najniższa cena z 30 dni)47.90 zł
159.00 zł(-70%) -
Niewiele dziedzin wiedzy bazujących na starej, dobrej matematyce rozwija się dziś tak szybko, jak informatyka. Jednocześnie tradycyjna matematyka i nowoczesne programowanie wiążą się ze sobą nierozerwalne w wielu obszarach naszego życia, na które wpływ ma rozwój technologii. Matematyka nie tylko ...
Matematyka. Kurs video. Ćwiczenia dla programisty i data science Matematyka. Kurs video. Ćwiczenia dla programisty i data science
(69.32 zł najniższa cena z 30 dni)164.45 zł
299.00 zł(-45%)
Ebooka "Domain-Driven Design dla .NET Core. Jak rozwiązywać złożone problemy podczas projektowania architektury aplikacji" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Domain-Driven Design dla .NET Core. Jak rozwiązywać złożone problemy podczas projektowania architektury aplikacji" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Domain-Driven Design dla .NET Core. Jak rozwiązywać złożone problemy podczas projektowania architektury aplikacji" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- Hands-On Domain-Driven Design with .NET Core: Tackling complexity in the heart of software by putting DDD principles into practice
- Tłumaczenie:
- Lech Lachowski
- ISBN Książki drukowanej:
- 978-83-283-7765-3, 9788328377653
- Data wydania książki drukowanej:
- 2021-07-19
- ISBN Ebooka:
- 978-83-283-7766-0, 9788328377660
- Data wydania ebooka:
-
2021-07-19
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 168x237
- Numer z katalogu:
- 148625
- Rozmiar pliku Pdf:
- 17.5MB
- Rozmiar pliku ePub:
- 8.9MB
- Rozmiar pliku Mobi:
- 18.1MB
- Pobierz przykładowy rozdział PDF
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
Spis treści ebooka
- Zrozumieć problem 20
- Przestrzeń problemu i przestrzeń rozwiązania 20
- Co poszło nie tak z wymaganiami? 22
- Jak radzić sobie ze złożonością? 23
- Rodzaje złożoności 23
- Klasyfikowanie złożoności 26
- Podejmowanie decyzji i błędy poznawcze 29
- Wiedza 32
- Wiedza dziedzinowa 32
- Unikanie ignorancji 34
- Podsumowanie 36
- Dalsza lektura 36
- Język wszechobecny 37
- Język dziedzinowy 38
- Wyraźne określanie rzeczy dorozumianych 41
- Język i kontekst 47
- Podsumowanie 51
- EventStorming 54
- Język modelowania 55
- Wizualizacja 57
- Porady dotyczące organizowania warsztatów EventStorming 58
- Kogo zaprosić? 58
- Przygotowanie przestrzeni 59
- Warsztaty 61
- Nasz pierwszy model 68
- Podsumowanie 73
- Dalsza lektura 74
- Model dziedziny 75
- Co reprezentuje model? 76
- Anemiczny model dziedziny 77
- Co należy uwzględnić w modelu dziedziny? 78
- EventStorming na poziomie projektu 82
- Poszerzanie wiedzy 82
- Przygotowanie do warsztatów 83
- Notacja rozszerzona 83
- Modelowanie dziedziny referencyjnej 88
- Podsumowanie 91
- Dalsza lektura 92
- Wymagania techniczne 93
- Rozpoczęcie implementacji 94
- Tworzenie projektów 94
- Framework 95
- Przełożenie modelu na kod 96
- Encje 97
- Dodawanie zachowania 100
- Zapewnianie poprawności 101
- Ograniczenia dla wartości wejściowych 102
- Obiekty wartości 103
- Zdarzenia dziedzinowe w kodzie 127
- Zdarzenia dziedzinowe jako obiekty 128
- Generowanie zdarzeń 131
- Zdarzenia zmieniają stan 134
- Podsumowanie 139
- Wymagania techniczne 141
- Otoczenie modelu dziedziny 142
- Udostępnianie internetowego interfejsu API 142
- Warstwa aplikacji 149
- Obsługa poleceń 152
- Wzorzec procedury obsługi poleceń 152
- Usługa aplikacji 156
- Podsumowanie 165
- Wymagania techniczne 167
- Spójność modelu dziedziny 168
- Granice transakcji 168
- Wzorzec Agregat 173
- Ochrona niezmienników 181
- Analiza ograniczeń dla polecenia 182
- Egzekwowanie reguł 189
- Encje wewnątrz agregatu 192
- Podsumowanie 201
- Wymagania techniczne 203
- Utrwalanie agregatów 204
- Repozytorium i jednostki pracy 204
- Implementacja dla RavenDB 206
- Implementacja Entity Framework Core 221
- Podsumowanie 232
- Wymagania techniczne 234
- Dodawanie profilów użytkowników 234
- Zagadnienia dotyczące dziedziny profilu użytkownika 235
- Strona aplikacji dla profilu użytkownika 242
- Strona zapytań 250
- CQRS i konflikt między odczytami a zapisami 250
- Zapytania i modele odczytu 252
- Implementowanie zapytań 254
- API zapytań 254
- Implementacja zapytań dla RavenDB 257
- Implementacja zapytań dla frameworku encji 264
- Podsumowanie 270
- Wymagania techniczne 272
- Dlaczego Event Sourcing 273
- Problemy z utrwalaniem stanu 273
- Czym jest Event Sourcing? 277
- Event Sourcing wokół nas 278
- Agregaty pozyskiwane ze zdarzeń 279
- Strumienie zdarzeń 279
- Magazyny zdarzeń 281
- Utrwalanie oparte na zdarzeniach 283
- Podsumowanie 299
- Dalsza lektura 300
- Zdarzenia i zapytania 304
- Budowanie modeli odczytu na podstawie zdarzeń 305
- Rzutowania 306
- Subskrypcje 308
- Implementacja rzutowań 311
- Subskrypcje nadganiające 311
- Rzutowania międzyagregatowe 320
- Rzutowanie zdarzeń z dwóch agregatów 321
- Wzbogacanie modeli odczytu 331
- Kwerendowanie w rzutowaniach 332
- Konwertowanie zdarzeń 335
- Magazyn trwały 340
- Punkty kontrolne 340
- Utrwalanie modeli odczytu 344
- Zakończenie 349
- Podsumowanie 353
- Pułapka pojedynczego modelu 356
- Zaczynaj od rzeczy małych 356
- Znowu złożoność 357
- Wielka kula błota 359
- Konstruowanie systemów 363
- Granice językowe 364
- Autonomia zespołu 369
- Podsumowanie 373
- Kiedy, co i jak? 375
- Kiedy dzielić? 376
- Co dzielić? 378
- Jak podzielić? 380
- Różne spojrzenia na projektowanie systemów 382
- Proces projektowania 383
- Dzielenie encji 387
- Budowa systemu modułowego 387
- Moduły wewnątrz jednego rozwiązania 389
- Struktura modułu 392
- Budowanie systemu 403
- Podłączanie modułów do aplikacji 404
- Integracja 405
- Interfejs użytkownika 412
- Interfejs użytkownika ponad granicami 413
- Mikrousługi 417
- Kiedy nie stosować systemów rozproszonych 418
- Jak stosować systemy rozproszone 419
- Podsumowanie 422
- Dalsza lektura 423
O autorze 11
O recenzentach 13
Przedmowa 15
Rozdział 1. Dlaczego projektowanie dziedzinowe? 19
Rozdział 2. Język i kontekst 37
Rozdział 3. EventStorming 53
Rozdział 4. Projektowanie modelu 75
Rozdział 5. Implementacja modelu 93
Rozdział 6. Działanie za pomocą poleceń 141
Rozdział 7. Granica spójności 167
Rozdział 8. Utrwalanie agregatów 203
Rozdział 9. CQRS - strona odczytu 233
Rozdział 10. Event Sourcing 271
Rozdział 11. Rzutowania i kwerendy 303
Rozdział 12. Kontekst ograniczony 355
Rozdział 13. Podział systemu 375
Oceny i opinie klientów: Domain-Driven Design dla .NET Core. Jak rozwiązywać złożone problemy podczas projektowania architektury aplikacji Alexey Zimarev (5)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(0)
(1)
(0)
(2)
(1)
(1)
Opinia: Daniel,
Opinia dodana: 2021-08-13 Ocena: 5 Opinia potwierdzona zakupem
Opinia: anonimowa
Opinia dodana: 2021-08-30 Ocena: 3 Opinia niepotwierdzona zakupem
Opinia: Tomek,
Opinia dodana: 2021-08-16 Ocena: 3 Opinia niepotwierdzona zakupem
Opinia: Jan,
Opinia dodana: 2021-07-20 Ocena: 2 Opinia niepotwierdzona zakupem
Opinia: Robert,
Opinia dodana: 2021-08-03 Ocena: 1 Opinia potwierdzona zakupem
więcej opinii