Facebook - konwersja
  • promocja

Domain-Driven Design dla .NET Core. Jak rozwiązywać złożone problemy podczas projektowania architektury aplikacji - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
19 lipca 2021
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Domain-Driven Design dla .NET Core. Jak rozwiązywać złożone problemy podczas projektowania architektury aplikacji - ebook

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!

Spis treści


O autorze 11

O recenzentach 13

Przedmowa 15

Rozdział 1. Dlaczego projektowanie dziedzinowe? 19

  • 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

Rozdział 2. Język i kontekst 37

  • Język wszechobecny 37
    • Język dziedzinowy 38
    • Wyraźne określanie rzeczy dorozumianych 41
  • Język i kontekst 47
  • Podsumowanie 51

Rozdział 3. EventStorming 53

  • 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

Rozdział 4. Projektowanie modelu 75

  • 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

Rozdział 5. Implementacja modelu 93

  • 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

Rozdział 6. Działanie za pomocą poleceń 141

  • 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

Rozdział 7. Granica spójności 167

  • 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

Rozdział 8. Utrwalanie agregatów 203

  • Wymagania techniczne 203
  • Utrwalanie agregatów 204
    • Repozytorium i jednostki pracy 204
    • Implementacja dla RavenDB 206
    • Implementacja Entity Framework Core 221
  • Podsumowanie 232

Rozdział 9. CQRS - strona odczytu 233

  • 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

Rozdział 10. Event Sourcing 271

  • 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

Rozdział 11. Rzutowania i kwerendy 303

  • 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

Rozdział 12. Kontekst ograniczony 355

  • 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

Rozdział 13. Podział systemu 375

  • 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
Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-7766-0
Rozmiar pliku: 8,9 MB

BESTSELLERY

Kategorie: