Facebook - konwersja
  • promocja

Adaptywny kod. Zwinne programowanie, wzorce projektowe i SOLID-ne zasady. Wydanie II - ebook

Wydawnictwo:
Data wydania:
8 grudnia 2017
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.

Adaptywny kod. Zwinne programowanie, wzorce projektowe i SOLID-ne zasady. Wydanie II - ebook

Tworzenie oprogramowania nie może być procesem powolnym. Dziś zespoły projektowe muszą cechować się elastycznością i dynamiką działania, aby odnieść sukces. Wymagania stawiane kodowi mogą wielokrotnie się zmieniać podczas projektu. Oznacza to, że wprowadzanie zmian do kodu powinno być proste i możliwie mało pracochłonne. Deweloperzy, którzy wdrożą zasady programowania zwinnego i będą przestrzegać związanych z nimi dobrych praktyk, będą w stanie sprostać tym wymaganiom.

Niniejsza książka jest przeznaczona dla średnio zaawansowanych programistów, którzy dobrze opanowali tworzenie kodu zorientowanego obiektowo i chcą przyswoić sobie najlepsze praktyki programistyczne. Książka stanowi pomost między teorią a praktyką, ułatwiający wdrożenie w codziennej pracy wzorców projektowych, zasad SOLID, testów jednostkowych czy refaktoringu. Wyjaśniono tu stosowanie zawiłych reguł, takich jak „otwarte – zamknięte”, zasad podstawienia Liskova, metod wstrzykiwania zależności czy zwiększania adaptywności kodu za pomocą interfejsów. Przedstawiono również pewne antywzorce projektowe wraz ze wskazówkami, w jaki sposób można ich uniknąć i zapewnić potrzebną funkcjonalność bez utraty elastyczności kodu.

Najważniejsze zagadnienia:

  • metodologie Scrum i kanban,
  • zależności i warstwy architektury kodu,
  • testy i refaktoring,
  • odwracanie zależności,
  • wiązanie i spójność kodu.

Gary McLean Hall jest programistą i architektem oprogramowania. Jest cenionym konsultantem, który specjalizuje się w dobrych wzorcach i praktykach programistycznych. Pracował w wielu zespołach ukierunkowanych na tworzenie adaptywnego kodu w takich firmach, jak Eidos, Xerox, Nephila Capital czy The LateRooms Group. W swojej pracy zawsze szukał złotego środka pomiędzy tworzeniem funkcjonalnego produktu i wysokiej jakości jego kodu źródłowego. Kod adaptywny: solidny, elastyczny i łatwy w utrzymaniu!

Spis treści

Wprowadzenie (11)

CZĘŚĆ I. FRAMEWORKI ZWINNE

Rozdział 1. Wprowadzenie do metodologii Scrum (21)

  • Scrum kontra model kaskadowy (24)
  • Role i obowiązki (26)
    • Właściciel produktu (26)
    • Scrum master (27)
    • Zespół deweloperski (28)
  • Artefakty (29)
    • Tablica Scruma (29)
    • Wykresy i wskaźniki (41)
    • Rejestry (45)
  • Sprint (47)
    • Planowanie wydania (47)
    • Planowanie sprintu (48)
    • Codzienne spotkania Scruma (50)
    • Demo sprintu (51)
    • Retrospektywa sprintu (52)
    • Kalendarz Scruma (54)
  • Zwinność w prawdziwym świecie (55)
    • Sztywność (55)
    • Brak testowalności (56)
    • Wskaźniki (57)
  • Podsumowanie (59)

Rozdział 2. Wprowadzenie do metodologii kanban (61)

  • Kanban - szybki początek (62)
    • Radiator informacyjny (62)
  • Ograniczanie pracy w trakcie (66)
    • Ochrona przed zmianą (66)
    • Definiowanie "ukończenia" (67)
  • Ceremonie sterowane zdarzeniami (68)
  • Klasy usług (69)
    • Umowy o gwarantowanym poziomie świadczenia usług (69)
    • Limity WIP dla klas usług (71)
    • Ludzie jako klasy usług (71)
  • Analiza (72)
    • Czas dostarczenia i czas cyklu (72)
    • Kumulatywne diagramy przepływu (73)
  • Podsumowanie (81)

CZĘŚĆ II. PODSTAWY TWORZENIA ADAPTYWNEGO KODU

Rozdział 3. Zależności i warstwy (85)

  • Zależności (86)
    • Prosty przykład (87)
    • Zależności platformowe (90)
    • Zależności zewnętrzne (92)
    • Modelowanie zależności za pomocą grafu skierowanego (93)
  • Zarządzanie zależnościami (97)
    • Implementacje i interfejsy (97)
    • Zapach instrukcji new (98)
    • Alternatywne sposoby tworzenia obiektów (101)
    • Rozwiązywanie zależności (103)
    • Zarządzanie zależnościami za pomocą projektów NuGet (112)
  • Warstwy (117)
    • Popularne wzorce warstwowania (118)
    • Zagadnienia przecinające (123)
    • Warstwowanie asymetryczne (124)
  • Podsumowanie (126)

Rozdział 4. Interfejsy i wzorce projektowe (127)

  • Czym jest interfejs? (127)
    • Składnia (128)
    • Jawna implementacja (130)
    • Polimorfizm (134)
  • Wzorce tworzenia adaptywnego kodu (135)
    • Wzorzec Zerowy Obiekt (135)
    • Wzorzec Adapter (140)
    • Wzorzec Strategia (143)
  • Dodatkowe funkcjonalności (145)
    • Kacze typowanie (145)
    • Domieszki (149)
    • Płynne interfejsy (153)
  • Podsumowanie (155)

Rozdział 5. Testy (157)

  • Testy jednostkowe (158)
    • Przygotuj, wykonaj, zweryfikuj (158)
    • Programowanie sterowane testami (162)
    • Bardziej zaawansowane testy (166)
  • Wzorce testów jednostkowych (180)
    • Tworzenie elastycznych testów (180)
  • Wzorzec Budowniczy testów jednostkowych (182)
    • Wzorzec Budowniczy (182)
    • Uwidacznianie przeznaczenia testu jednostkowego (183)
  • Przede wszystkim testy (185)
    • Co to jest TDD? (185)
    • Wzorzec TDD (186)
    • Wzorzec TFD (187)
  • Inne testy (187)
    • Piramida testów (188)
    • Przeciwieństwa piramidy testów (189)
    • Diagram testowy (190)
  • Testy profilaktyczne i lecznicze (192)
    • Jak zmniejszyć wskaźnik MTTR? (193)
  • Podsumowanie (194)

Rozdział 6. Refaktoryzacja (195)

  • Wprowadzenie do refaktoryzacji (195)
    • Zmiana istniejącego kodu (196)
    • Nowy typ konta (204)
  • Agresywna refaktoryzacja (208)
    • Czerwone - zielone - refaktoryzacja... Przeprojektowanie (209)
  • Adaptacja zastanego kodu (209)
    • Technika złotego wzorca (210)
  • Podsumowanie (216)

CZĘŚĆ III. SOLID-NY KOD

Rozdział 7. Zasada pojedynczej odpowiedzialności (219)

  • Opis problemu (219)
    • Refaktoryzacja poprawiająca czytelność kodu (222)
    • Refaktoryzacja zwiększająca abstrakcyjność kodu (226)
  • Zasada pojedynczej odpowiedzialności i wzorzec Dekorator (233)
    • Wzorzec Kompozyt (234)
    • Dekoratory predykatu (237)
    • Dekoratory warunkowe (240)
    • Leniwe dekoratory (241)
    • Dekoratory logujące (242)
    • Dekoratory profilujące (243)
    • Dekorowanie właściwości i zdarzeń (246)
  • Podsumowanie (247)

Rozdział 8. Zasada "otwarty/zamknięty" (249)

  • Wprowadzenie do zasady "otwarty/zamknięty" (249)
    • Definicja Meyera (249)
    • Definicja Martina (250)
    • Usuwanie błędów (250)
    • "Świadomość" kodu klienckiego (251)
  • Punkty rozszerzeń (251)
    • Kod bez punktów rozszerzeń (251)
    • Metody wirtualne (252)
    • Metody abstrakcyjne (253)
    • Dziedziczenie interfejsu (254)
    • "Projektuj pod kątem dziedziczenia albo blokuj dziedziczenie" (254)
  • Chroniona zmienność (255)
    • Przewidywana zmienność (255)
    • Stabilny interfejs (255)
    • Właściwa adaptywność (256)
    • Przewidywana zmienność a spekulatywne uogólnienie (256)
    • Potrzebujesz aż tylu interfejsów? (257)
  • Podsumowanie (258)

Rozdział 9. Zasada podstawienia Liskov (259)

  • Wprowadzenie do zasady podstawienia Liskov (259)
    • Oficjalna definicja zasady LSP (259)
    • Reguły tworzące zasadę LSP (260)
  • Kontrakty (261)
    • Warunki początkowe (262)
    • Warunki końcowe (263)
    • Inwarianty (264)
    • Reguły kontraktowe w zasadzie LSP (266)
    • Kontrakty kodu (272)
  • Kowariancja i kontrawariancja (278)
    • Definicje (278)
    • Reguły systemu typów w zasadzie LSP (284)
  • Podsumowanie (287)

Rozdział 10. Segregacja interfejsów (289)

  • Przykład segregacji interfejsów (289)
    • Prosty interfejs CRUD (290)
    • Zapamiętywanie danych (295)
    • Dekorowanie wielu interfejsów (298)
  • Tworzenie kodu klienckiego (300)
    • Wiele implementacji, wiele instancji (301)
    • Jedna implementacja, jedna instancja (303)
    • Antywzorzec "interfejsowa mieszanka" (304)
  • Dzielenie interfejsów (304)
    • Wymagania kodu klienckiego (304)
    • Wymagania architektury aplikacji (310)
    • Interfejsy z pojedynczymi metodami (314)
  • Podsumowanie (315)

Rozdział 11. Odwracanie zależności (317)

  • Planowanie zależności (317)
    • Antywzorzec Świta (318)
    • Wzorzec Schody (320)
  • Przykład abstrakcyjnego projektu (321)
    • Abstrakcje (322)
    • Konkretne polecenia (322)
    • Wyodrębnianie funkcjonalności (325)
    • Ulepszony kod kliencki (329)
    • Abstrakcje obsługujące zapytania (332)
    • Dalsze abstrakcje (333)
  • Podsumowanie (334)

CZĘŚĆ IV. STOSOWANIE ADAPTYWNYCH TECHNIK

Rozdział 12. Wstrzykiwanie zależności (337)

  • Skromne początki (337)
    • Aplikacja Lista zadań (340)
    • Tworzenie grafu obiektów (342)
  • Nie tylko proste wstrzykiwanie (358)
    • Antywzorzec Lokalizator Usług (358)
    • Wzorzec Nielegalne Wstrzykiwanie (361)
    • Korzeń kompozycji (363)
    • Konwencje zamiast konfiguracji (368)
  • Podsumowanie (371)

Rozdział 13. Sprzężenie, spójność, współzależność (373)

  • Sprzężenie i spójność kodu (373)
    • Sprzężenie (373)
    • Spójność (374)
  • Współzależność (375)
    • Nazwa (376)
    • Typ (377)
    • Znaczenie (377)
    • Algorytm (378)
    • Pozycja (379)
    • Kolejność wykonania (379)
    • Czas (379)
    • Wartość (379)
    • Tożsamość (380)
    • Określanie stopnia współzależności (380)
    • Lokalność (380)
    • Nieoficjalna współzależność (380)
    • Współzależność statyczna i dynamiczna (381)
  • Podsumowanie (381)

DODATKI

Dodatek. Adaptywne narzędzia (385)

  • Kontrola kodu źródłowego w systemie Git (385)
    • Tworzenie kopii repozytorium (387)
    • Przełączenie na inną gałąź (388)
  • Ciągła integracja (388)

Skorowidz (391)

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-3871-5
Rozmiar pliku: 7,1 MB

BESTSELLERY

Kategorie: