0 POZYCJI
KOSZYK PUSTY
Pobierz fragment
Wybierz format pliku:
Pobierz

Wstrzykiwanie zależności

(eBook)

Zasady, praktyki, wzorce

0.00  (0 ocen)
 Dodaj recenzję
Rozwiń szczegóły
  • Druk: 2020

  • Wydanie/Copyright: wyd. 1

  • Autor: Mark Seemann, Steven Van Deursen

  • Tłumacz: Anna Gurgul

  • Wydawca: Wydawnictwo Naukowe PWN

  • Formaty:
    ePub mobi (Watermark)
    Watermark
    Znak wodny czyli Watermark to zaszyfrowana informacja o użytkowniku, który zakupił produkt. Dzięki temu łatwo jest zidentyfikować użytkownika, który rozpowszechnił produkt w sposób niezgodny z prawem. Ten rodzaj zabezpieczenia jest zdecydowanie najbardziej przyjazny dla użytkownika, ponieważ aby otworzyć książkę zabezpieczoną Watermarkiem nie jest potrzebne konto Adobe ID oraz autoryzacja urządzenia.

Zwiń szczegóły
Cena katalogowa: 129,00 zł
Najniższa cena z 30 dni: 90,30 zł
Cena produktu

Cena katalogowa – rynkowa cena produktu, często jest drukowana przez wydawcę na książce.

Najniższa cena z 30 dni – najniższa cena sprzedaży produktu w księgarni z ostatnich 30 dni, obowiązująca przed zmianą ceny.

Wszystkie ceny, łącznie z ceną sprzedaży, zawierają podatek VAT.

90,30 zł
Dostępność:
online po opłaceniu
Dodaj do schowka

Wstrzykiwanie zależności

Wstrzykiwanie zależności. Zasady, praktyki, wzorce to poprawiona i rozszerzona wersja bestselleru Dependency Injection in .NET. Publikacja w sposób kompleksowy omawia zagadnienie wstrzykiwania zależności (DI). Zawiera przykłady, wzorce i antywzorce, które czytelnik może wykorzystać do tworzenia luźno powiązanych, dobrze zorganizowanych aplikacji. Szczegółowo opisany kod i diagramy wykorzystują przykłady w języku C# do zilustrowania zasad, które działają bezbłędnie z nowoczesnymi obiektowo-zorientowanymi językami programowania i bibliotekami DI.
W książce:
• refaktoryzacja istniejącego kodu w luźno powiązany kod,
• techniki DI działające z statycznie typowanymi językami zorientowanymi obiektowo,
• integracja ze znanymi frameworkami .NET,
• zaktualizowane przykłady ilustrujące wykorzystanie DI w .NET Core.
Publikacja przeznaczona dla średniozaawansowanych programistów OO.

  • Kategorie:
    1. Ebooki i Audiobooki »
    2. Informatyka
  • Język wydania: polski
  • ISBN: 978-83-01-21396-1
  • ISBN druku: 978-83-01-21378-7
  • Liczba stron: 564
  • Sposób dostarczenia produktu elektronicznego
    Produkty elektroniczne takie jak Ebooki czy Audiobooki są udostępniane online po uprzednim opłaceniu (PayU, BLIK) na stronie Twoje konto > Biblioteka.
    Pliki można pobrać zazwyczaj w ciągu kilku-kilkunastu minut po uzyskaniu poprawnej autoryzacji płatności, choć w przypadku niektórych publikacji elektronicznych czas oczekiwania może być nieco dłuższy.
    Sprzedaż terytorialna towarów elektronicznych jest regulowana wyłącznie ograniczeniami terytorialnymi licencji konkretnych produktów.
  • Ważne informacje techniczne
  • Minimalne wymagania sprzętowe:
    • procesor: architektura x86 1GHz lub odpowiedniki w pozostałych architekturach
    • Pamięć operacyjna: 512MB
    • Monitor i karta graficzna: zgodny ze standardem XGA, minimalna rozdzielczość 1024x768 16bit
    • Dysk twardy: dowolny obsługujący system operacyjny z minimalnie 100MB wolnego miejsca
    • Mysz lub inny manipulator + klawiatura
    • Karta sieciowa/modem: umożliwiająca dostęp do sieci Internet z prędkością 512kb/s
  • Minimalne wymagania oprogramowania:
    • System Operacyjny: System MS Windows 95 i wyżej, Linux z X.ORG, MacOS 9 lub wyżej, najnowsze systemy mobilne: Android, iPhone, SymbianOS, Windows Mobile
    • Przeglądarka internetowa: Internet Explorer 7 lub wyżej, Opera 9 i wyżej, FireFox 2 i wyżej, Chrome 1.0 i wyżej, Safari 5
    • Przeglądarka z obsługą ciasteczek i włączoną obsługą JavaScript
    • Zalecany plugin Flash Player w wersji 10.0 lub wyżej.
  • Informacja o formatach plików:
    • PDF - format polecany do czytania na laptopach oraz komputerach stacjonarnych.
    • EPUB - format pliku, który umożliwia czytanie książek elektronicznych na urządzeniach z mniejszymi ekranami (np. e-czytnik lub smartfon), dając możliwość dopasowania tekstu do wielkości urządzenia i preferencji użytkownika.
    • MOBI - format zapisu firmy Mobipocket, który można pobrać na dowolne urządzenie elektroniczne (np.e-czytnik Kindle) z zainstalowanym programem (np. MobiPocket Reader) pozwalającym czytać pliki MOBI.
    • Audiobooki w formacie MP3 - format pliku, przeznaczony do odsłuchu nagrań audio.
  • Rodzaje zabezpieczeń plików:
    • Watermark - (znak wodny) to zaszyfrowana informacja o użytkowniku, który zakupił produkt. Dzięki temu łatwo jest zidentyfikować użytkownika, który rozpowszechnił produkt w sposób niezgodny z prawem.
    • Brak zabezpieczenia - część oferowanych w naszym sklepie plików nie posiada zabezpieczeń. Zazwyczaj tego typu pliki można pobierać ograniczoną ilość razy, określaną przez dostawcę publikacji elektronicznych. W przypadku zbyt dużej ilości pobrań plików na stronie WWW pojawia się stosowny komunikat.
    Więcej informacji o publikacjach elektronicznych
przedmowa xv
podziękowania xvii
o książce xix
o autorach xxv
o ilustracji na okładce xxvii
Część 1 Umiejscowienie Wstrzykiwania zależności na mapie 1
1. Podstawy Wstrzykiwania zależności: co, jak i dlaczego 3
	1.1. Pisanie utrzymywalnego kodu 5
		Powszechne mity na temat DI 6   
		Rozumienie celu DI 9
	1.2. Prosty przykład: Hello DI! 16
		Kod Hello DI! 16   
		Korzyści (płynące) z DI 19
	1.3. Co wstrzykiwać, a czego nie wstrzykiwać 28
		STABILNE ZALEŻNOŚCI 29   
		NIESTABILNE ZALEŻNOŚCI 30
	1.4. Zakres DI 31
		KOMPOZYCJA OBIEKTOWA 32   
		CYKL ŻYCIA OBIEKTU 33   
		PRZECHWYTYWANIE 34   
		DI w trzech wymiarach 35
	1.5. Konkluzje 36
2. Pisanie ściśle powiązanego kodu 39
	2.1. Budowanie ściśle powiązanej aplikacji 40
		Poznajmy Mary Rowan 41   
		Tworzenie warstwy danych 42   
		Tworzenie warstwy domeny 44   
		Tworzenie warstwy interfejsu użytkownika 48
	2.2. Ocena aplikacji ściśle powiązanej 50
		Ocena grafu zależności 50   
		Ocena tworzenia strukturalności 50
	2.3. Analiza braku strukturalności 53
		Analiza wykresu zależności 53   
		Analiza interfejsu dostępu do danych 54   
		Inne kwestie 56
	2.4. Konkluzja 57
3. Pisanie luźno powiązanego kodu 59
	3.1. Ponowne budowanie aplikacji e-commerce 60
		Budowanie bardziej utrzymywanego UI 63   
		Budowanie niezależnego modelu domeny 69   
		Budowanie nowej warstwy dostępu do danych 78   
		Implementacja Adaptera IUserContext specyficznego dla ASP.NET Core 79   
		Tworzenie aplikacji w PODSTAWIE KOMPOZYCJI 82
	3.2. Analiza luźno powiązanej implementacji 82
		Zrozumienie interakcji między komponentami 83   
		Analizowanie nowego grafu zależności 84
Część 2 Katalog 89
4. Wzorce DI 91
	4.1. PODSTAWA KOMPOZYCJI 93
		Jak działa PODSTAWA KOMPOZYCJI 95   
		Użycie KONTENERA DI w PODSTAWIE KOMPOZYCJI 96  
		Przykład: Implementowanie PODSTAWY KOMPOZYCJI przy użyciu CZYSTEGO DI 97   
		Pozorna eksplozja zależności 100
	4.2. WSTRZYKIWANIE KONSTRUKTOREM 102
		Jak działa WSTRZYKIWANIE KONSTRUKTOREM 102   
		Kiedy używać WSTRZYKIWANIA KONSTRUKTOREM 104   
		Znany sposób użycia WSTRZYKIWANIA KONSTRUKTOREM 107   
		Przykład: Dodawanie przeliczania walut do wyróżnionych produktów 108   
		Podsumowanie 110
	4.3. WSTRZYKIWANIE METODĄ 112
		Jak działa WSTRZYKIWANIE METODĄ 112   
		Kiedy używać WSTRZYKIWANIA METODĄ 113   
		Znany sposób użycia WSTRZYKIWANIA METODĄ 119
		Przykład: Dodawanie przewalutowania do ENCJI Product 121
	4.4. WSTRZYKIWANIE WŁAŚCIWOŚCIĄ 123
		Jak działa WSTRZYKIWANIE WŁAŚCIWOŚCIĄ 124   
		Kiedy używać WSTRZYKIWANIA WŁAŚCIWOŚCIĄ 125   
		Znane zastosowania WSTRZYKIWANIA WŁAŚCIWOŚCIĄ 128   
		Przykład: WSTRZYKIWANIE WŁAŚCIWOŚCIĄ jako model rozszerzalności biblioteki do ponownego użycia 128
	4.5. Wybieranie wzorca (do pracy) 131
5. Antywzorce DI 135
	5.1. ANTYWZORZEC CONTROL FREAK 138
		Przykład: CONTROL FREAK przez nowo powstające ZALEŻNOŚCI 139   
		Przykład: CONTROL FREAK przez fabryki 140   
		Przykład: CONTROL FREAK przez przeciążone konstruktory 146   
		Analiza CONTROL FREAK 147
	5.2. LOKALIZATOR USŁUG 149
		Przykład: ProductService przy użyciu LOKALIZATORA USŁUG 151   
		Analiza LOKALIZATORA USŁUG 154
	5.3. KONTEKST OTOCZENIA 158
		Przykład: Dostęp do czasu przez KONTEKST OTOCZENIA 159  
		Przykład: Logowanie przez KONTEKST OTOCZENIA 161   
		Analiza KONTEKSTU OTOCZENIA 162
	5.4. Antywzorzec OGRANICZONEJ KONSTRUKCJI 166
		Przykład: Późne wiązanie ProductRepository 167   
		Analiza OGRANICZONEJ KONSTRUKCJI 169
6. Zapachy kodu 176
	6.1. Radzenie sobie z zapachem kodu Przesadnego Wstrzykiwania
		Konstruktorem 177
		Rozpoznawanie Przesadnego Wstrzykiwania Konstruktorem 179   
		Refaktorowanie z Przesadnego Wstrzykiwania Konstruktorem do Usług fasadowych 182   
		Refaktorowanie z Przesadnego Wstrzykiwania Konstruktorem do zdarzeń domeny 187
	6.2. Nadużywanie Fabryk abstrakcyjnych 195
		Nadużywanie Fabryk abstrakcyjnych do pokonania problemów cyklu życia 195   
		Nadużywanie Fabryk abstrakcyjnych do wybierania ZALEŻNOŚCI na podstawie danych czasu wykonania 203
	6.3. Naprawianie cyklicznych ZALEŻNOŚCI 209
		Przykład: Cykliczne ZALEŻNOŚCI spowodowane naruszeniem SRP 211   
		Analiza cyklu ZALEŻNOŚCI Mary 215   
		Refaktoring naruszeń SRP, aby rozwiązać cykl ZALEŻNOŚCI 216   
		Powszechne strategie przerywania cyklów ZALEŻNOŚCI 220   
		Ostateczność: przerwanie cyklu za pomocą WSTRZYKIWANIA WŁAŚCIWOŚCIĄ 220
Część 3 Czyste DI 225
7. Kompozycja aplikacji 227
	7.1. Komponowanie aplikacji konsolowej 230
		Przykład: Uaktualnienie kursu walut przy użyciu programu UpdateCurrency 230   
		Budowanie PODSTAWY KOMPOZYCJI programu UpdateCurrency 231   
		Komponowanie grafów obiektów w CreateCurrencyParser 232   
		Głębsze spojrzenie na warstwy UpdateCurrency 233
	7.2. Komponowanie aplikacji UWP 234
		Kompozycja UWP 235   
		Przykład: Podłączanie aplikacji typu gruby klient do zarządzania produktami 235   
		Implementowanie PODSTAWY KOMPOZYCJI w aplikacji UWP 243
	7.3. Komponowanie aplikacji ASP.NET Core MVC 246
		Tworzenie własnego aktywatora kontrolera 247   
		Konstruowanie własnej warstwy middleware przy użyciu CZYSTEGO DI 250
8. Cykl życia obiektu 254
	8.1. Zarządzanie CYKLEM ŻYCIA ZALEŻNOŚCI 256
		Wprowadzenie ZARZĄDZANIA CYKLEM ŻYCIA 257   
		Zarządzanie cyklem życia przy użyciu CZYSTEGO DI 261
	8.2. Pracowanie z usuwalnymi ZALEŻNOŚCIAMI 264
		Konsumowanie usuwalnych ZALEŻNOŚCI 265   
		Zarządzanie usuwalnymi ZALEŻNOŚCIAMI 269
	8.3. Katalog STYLÓW ŻYCIA 275
		STYL ŻYCIA SINGLETON 276   
		PRZEJŚCIOWY STYL ŻYCIA 279   
		ZAKRESOWY STYL ŻYCIA 281
	8.4. Złe wybory STYLU ŻYCIA 287
		POJMANE ZALEŻNOŚCI 288   
		Wybór STYLU ŻYCIA wyciekający do klas konsumujących przez CIEKNĄCE ABSTRAKCJE 290   
		Powodowanie błędów współbieżności przez łączenie instancji z cyklem życia jednego wątku 297
9. Przechwytywanie 303
	9.1. Przedstawienie PRZECHWYTYWANIA 305
		Wzorzec projektowy dekorator 306   
		Przykład: Implementowanie audytowania przy użyciu Dekoratora 311
	9.2. Implementowanie ZAGADNIEŃ PRZEKROJOWYCH 314
		Przechwytywanie za pomocą wzorca Bezpiecznik 315   
		Raportowanie wyjątków przy użyciu wzorca Dekorator 321   
		Zapobieganie nieautoryzowanemu dostępowi do wrażliwej funkcjonalności przy użyciu Dekoratora 323
10. Rozmyślne Programowanie Aspektowe 326
	10.1. Wprowadzenie do AOP 327
	10.2. Zasady SOLID 330
		ZASADA POJEDYNCZEJ ODPOWIEDZIALNOŚCI (SRP) 331   
		ZASADA OTWARTE/ZAMKNIĘTE (OCP) 332   
		ZASADA PODSTAWIENIA LISKOV (LSP) 332   
		ZASADA SEGREGACJI INTERFEJSÓW (ISP) 333   
		ZASADA ODWRÓCENIA ZALEŻNOŚCI (DIP) 333   
		Zasady SOLID a PRZECHWYTYWANIE 333
	10.3. SOLID jako sterownik dla AOP 334
		Przykład: Implementowanie funkcjonalności związanych z produktem przy użyciu IProductService 334   
		Analiza IProductService z perspektywy SOLID 336   
		Ulepszanie projektu przez zastosowanie zasad SOLID 339
		Dodanie większej liczby ZAGADNIEŃ PRZEKROJOWYCH 353   
		Wnioski 363
11. Programowanie Aspektowe oparte na narzędziach 367
	11.1. Dynamiczne PRZECHWYTYWANIE 368
		Przykład: PRZECHWYTYWANIE za pomocą Castle Dynamic Proxy 371   
		Analiza dynamicznego PRZECHWYTYWANIA 373
	11.2. Tkanie w czasie kompilacji 375
		Przykład: Zastosowanie aspektu transakcji przy użyciu tkania w czasie kompilacji 377   
		Analiza tkania w czasie kompilacji 379
Część 4 Kontenery DI 385
12. Wprowadzenie do Kontenera DI 387
	12.1. Wprowadzenie do KONTENERÓW DI 389
		Odkrywanie API kontenerów rozwiązującego ZALEŻNOŚCI 389   
		AUTOMATYCZNE PODŁĄCZANIE 392   
		Przykład: Implementowanie uproszczonego KONTENERA DI, który wspiera AUTOMATYCZNE PODŁĄCZANIE 393
	12.2. Konfigurowanie KONTENERÓW DI 401
		Konfigurowanie kontenerów za pomocą plików konfiguracyjnych 403  
		Kontenery konfiguracyjne przy użyciu KONFIGURACJI JAKO KODU 406
		Konfigurowanie kontenerów przez konwencję przy użyciu AUTO-REJESTRACJI 409   
		Mieszanie i dopasowywanie podejść konfiguracji 415
	12.3. Kiedy używać KONTENERA DI 416
		Używanie bibliotek trzecich oznacza koszty i ryzyko 416   
		CZYSTE DI daje krótszy cykl feedbacku 419   
		Werdykt: kiedy używać KONTENERA DI 420
13. Kontener DI Autofac 425
	13.1. Wprowadzenie do Autofac 426
		Rozwiązywanie obiektów 427   
		Konfigurowanie ContainerBuilder 430
	13.2. Zarządzanie cyklem życia 437
		Konfigurowanie zakresów instancji 438   
		Zwalnianie komponentów 440
	13.3. Rejestrowanie trudnych API 443
		Konfigurowanie prymitywnych ZALEŻNOŚCI 443   
		Rejestrowanie obiektów za pomocą bloków kodu 445
	13.4. Praca z licznymi komponentami 447
		Wybieranie wśród wielu kandydatów 447   
		Podłączenie sekwencji 452   Podłączanie Dekoratorów 455   
		Pisanie Kompozytów 458
14. Kontener DI Simple Injector 463
	14.1. Wprowadzenie do Simple Injector 464
		Tworzenie obiektów 466   
		Konfigurowanie kontenera 468
	14.2. Zarządzanie cyklem życia 476
		Konfigurowanie STYLÓW ŻYCIA 477   
		Zwalnianie komponentów 478  
		Zakresy otoczenia 481   
		Diagnozowanie kontenera pod kątem częstych problemów cyklu życia 483
	14.3. Rejestrowanie trudnych API 486
		Konfigurowanie prymitywnych ZALEŻNOŚCI 486   
		Wyciąganie prymitywnych ZALEŻNOŚCI do Obiektów Parametrów 488   
		Rejestrowanie obiektów za pomocą bloków kodu 489
	14.4. Praca z licznymi komponentami 490
		Wybieranie spośród licznych kandydatów 491   
		Podłączanie sekwencji 494   
		Podłączanie Dekoratorów 497   
		Podłączanie Kompozytów 500   
		Sekwencje są strumieniami 502
15. Kontener DI Microsoft.Extensions.DependencyInjection 507
	15.1. Wprowadzenie do Microsoft.Extensions.DependencyInjection 508
		Rozwiązywanie obiektów 510   
		Konfigurowanie ServcieCollection 512
	15.2. Zarządzanie cyklem życia 518
		Konfigurowanie STYLÓW ŻYCIA 519   
		Zwalnianie komponentów 519
	15.3. Rejestrowanie trudnych API 522
		Konfigurowanie prymitywnych ZALEŻNOŚCI 522   
		Wyciąganie prymitywnych ZALEŻNOŚCI do Obiektów Parametru 523   
		Rejestrowanie obiektów za pomocą bloków kodu 524
	15.4. Praca z licznymi komponentami 526
		Wybieranie wśród licznych kandydatów 526   
		Podłączanie sekwencji 530  
		Podłączanie Dekoratorów 533   
		Podłączanie Kompozytów 537
słowniczek terminologii 545
literatura 549
	Pozycje drukowane 549
	Pozycje online 550
	Inne źródła 551
indeks 553

Inni Klienci oglądali również

14,70 zł 21,00 zł
Do koszyka

Podstawy statystyki dla socjologów Tom 2 Zależności statystyczne

Przedstawiana w drugim tomie analiza zależności statystycznych między dwiema lub większą liczbą zmiennych to najczęściej stosowany przez socjologów rodzaj analiz statystycznych. Główną przyczyną trudności pojawiających się podczas wyboru ...
24,12 zł 26,80 zł
Do koszyka

Krajobraz (nie)zależności. Literatura wobec wolności i zniewolenia na styku Orientu i Okcydentu

Książka próbuje stawiać pytania o kwestię traktowaną współcześnie jako podstawowa dla każdego człowieka: wolność.Książka koncentruje się na różnych formach przejawiania się wolności przede wszystkim w kulturach Azji i A...
34,30 zł 49,00 zł
Do koszyka

Ceny minimalne i maksymalne w modelowaniu i prognozowaniu zmienności oraz zależności na rynkach finansowych

Książka mieści się w centralnym obszarze światowej ekonometrii finansowej. Jej wyjątkowośćpolega na tym, że prezentuje modele teoretyczne i wyniki empiryczne związanez wykorzystaniem w ocenie i prognozowaniu zmienności informacji na temat c...
89,10 zł 99,00 zł
Do koszyka

Zintegrowane zarządzanie środowiskiem. Systemowe zależności między polityką, prawem, zarządzaniem i techniką

Podręcznik stanowi kompendium interdyscyplinarnej wiedzy z zakresu zarządzania środowiskiem i tworzenia strategii zrównoważonego rozwoju. Uwzględniono w nim specyfikę doświadczeń, przede wszystkim niemieckich, w tej dziedzinie oraz opisano inno...
20,88 zł 23,20 zł
Do koszyka

Polskie nauki społeczne w kontekście relacji władzy i zależności międzynarodowych

Książka prezentuje nowatorskie socjologiczne podejście do najnowszej historii Polski, szczególnie zaś historii polskiej nauki oraz sztuki. Zebrane w niej studia przedstawiają różne warianty zastosowania socjologii historycznej, w większoś...
35,10 zł 39,00 zł
Do koszyka

Osobowościowe uwarunkowania preferencji muzycznych w zależności od wieku

Łacińska sentencja „De gustibus (et coloribus) non est disputandum”, której źródło jest nieznane (prawdopodobnie była średniowieczną formułą scholastyczną), w wolnym tłumaczeniu mówi, iż gust nie podlega dyskusji lub sz...

Recenzje

Dodaj recenzję
Nikt nie dodał jeszcze recenzji. Bądź pierwszy!