Darmowa dostawa od 150,00 zł
Refaktoryzacja do wzorców projektowych

Refaktoryzacja do wzorców projektowych

  • Wydawca: Helion Rok wydania: 2005 Oprawa: miękka ISBN: 8373619305 Ilość stron: 320 Format: 14,5 x 20,5 cm
Rozmiar

89,00 zł

brutto / 1szt.
Najniższa cena z 30 dni przed obniżką: / szt.
Cena regularna: / szt.
Cena katalogowa:
Możesz kupić za pkt.
z
Produkt dostępny w bardzo dużej ilości
Skontaktuj się z obsługą sklepu, aby oszacować czas przygotowania tego produktu do wysyłki.
Produkt dostępny w bardzo dużej ilości
Wysyłka
14 dni na łatwy zwrot
Bezpieczne zakupy
Odroczone płatności. Kup teraz, zapłać później, jeżeli nie zwrócisz
Kup teraz, zapłać później - 4 kroki
Przy wyborze formy płatności, wybierz PayPo.PayPo - kup teraz, zapłać za 30 dni
PayPo opłaci twój rachunek w sklepie.
Na stronie PayPo sprawdź swoje dane i podaj pesel.
Po otrzymaniu zakupów decydujesz co ci pasuje, a co nie. Możesz zwrócić część albo całość zamówienia - wtedy zmniejszy się też kwota do zapłaty PayPo.
W ciągu 30 dni od zakupu płacisz PayPo za swoje zakupy bez żadnych dodatkowych kosztów. Jeśli chcesz, rozkładasz swoją płatność na raty.
Po zakupie otrzymasz pkt.

Zmodernizuj kod swoich aplikacji
pod kątem stosowania wzorców projektowych

  • Dowiedz się, czym jest refaktoryzacja
  • Poznaj zasady stosowania wzorców projektowych
  • Wprowadź wzorce projektowe do kodu źródłowego aplikacji

Refaktoryzacja to zmiana konstrukcji kodu bez modyfikowania jego działania. Najczęstszym powodem refaktoryzowania kodu jest konieczność jego "uporządkowania" lub usunięcia z niego funkcji niewykorzystywanych w projekcie. Często również stosuje się refaktoryzację, aby zmodernizować kod pod kątem zastosowania w nim wzorców projektowych. Wprowadzenie wzorców projektowych do kodu znacznie ułatwia jego późniejsze modyfikacje i ewentualne rozbudowy. Stosowanie technik programowania ekstremalnego nierozerwalnie wiąże ze sobą wzorce projektowe i refaktoryzację kodu.

Książka "Refaktoryzacja do wzorców projektowych" opisuje teoretyczne i praktyczne zagadnienia związane z refaktoryzowaniem kodu pod kątem wzorców projektowych. Przedstawia opisy niskopoziomowych przekształceń, które umożliwiają programiście bezpieczną zmianę konstrukcji kodu prowadzącą do zaimplementowania bądź usunięcia określonych wzorców z programu. Zawiera również szczegółowy opis łączenia tych przekształceń w procesie refaktoryzacji oraz sposobów implementowania wzorców w kodzie. Każde z omówionych w książce przekształceń zostało zilustrowane praktycznymi przykładami.

  • Podstawowe zasady refaktoryzacji
  • Zasady stosowania wzorców projektowych
  • Najczęstsze powody wprowadzania wzorców do kodu
  • Implementowanie wzorców projektowych
  • Zmiany sposobów tworzenia obiektów
  • Upraszczanie i uogólnianie kodu

Jeśli chcesz zmodernizować kod swoich aplikacji,
w tej książce znajdziesz wszystkie informacje na ten temat.

Spis treści

Przedmowa Ralpha Johnsona (11)

Przedmowa Martina Fowlera (13)

Wstęp (15)

  • O czym jest ta książka? (15)
  • Jaki jest cel tej książki? (15)
  • Dla kogo jest ta książka? (16)
  • Co trzeba wiedzieć? (16)
  • Jak korzystać z tej książki? (17)
  • Historia tej książki (17)
  • Na ramionach gigantów (18)
  • Podziękowania (18)

1. Dlaczego napisałem tę książkę (21)

  • Planowanie na wyrost (21)
  • Wzorce jako panaceum (22)
  • Brak właściwego planowania (23)
  • Programowanie sterowane testami i ciągła refaktoryzacja (24)
  • Refaktoryzacja i wzorce (25)
  • Projektowanie jako proces ewolucyjny (26)

2. Refaktoryzacja (27)

  • Czym jest refaktoryzacja? (27)
  • Dlaczego refaktoryzujemy? (28)
  • Co dwie głowy... (29)
  • Kod czytelny dla człowieka (29)
  • Porządek (30)
  • Zasada małych kroków (31)
  • Dług konstrukcyjny (32)
  • Rozwijanie architektury (33)
  • Przekształcenia złożone i oparte na testach (33)
  • Zalety przekształceń złożonych (34)
  • Narzędzia do refaktoryzacji (35)

3. Wzorce (37)

  • Czym jest wzorzec projektowy? (37)
  • Fan wzorców (38)
  • Jest wiele sposobów implementowania każdego wzorca (40)
  • Zmiana "do", "w stronę" i "od" wzorca (42)
  • Czy wzorce zwiększają złożoność kodu? (43)
  • Znajomość wzorców (44)
  • Rozpoczynanie pracy od pełnego projektu (45)

4. Zapachy kodu (47)

  • Duplicated Code (powtórzenia kodu) (48)
  • Long Method (długa metoda) (49)
  • Conditional Complexity (złożoność warunków) (50)
  • Primitive Obsession (pierwotna obsesja) (50)
  • Indecent Exposure (nieprzyzwoite obnażanie się) (51)
  • Solution Sprawl (rozrzucanie rozwiązania) (51)
  • Alternative Class with Different Interfaces (podobna klasa o innych interfejsach) (51)
  • Lazy Class (leniwa klasa) (52)
  • Large Class (duża klasa) (52)
  • Switch Statements (instrukcje switch) (52)
  • Combinatorial Explosion (eksplozja kombinatoryczna) (52)
  • Oddball Solution (osobliwe rozwiązanie) (53)

5. Katalog refaktoryzacji ukierunkowanych na wzorce (55)

  • Format opisu przekształceń (55)
  • Przykłady (56)
    • Obsługa XML (57)
    • HTML Parser (57)
    • Kalkulator ryzyka kredytu (58)
  • Punkt wyjścia (58)
  • Jak wykorzystać tę książkę do nauki (58)

6. Tworzenie obiektów (61)

  • Replace Constructors with Creation Methods (zastąp konstruktory metodami tworzącymi egzemplarze) (62)
    • Motywacja (62)
    • Mechanika (64)
    • Przykład (64)
    • Odmiany (69)
  • Move Creation Knowledge to Factory (przenieś operację tworzenia obiektów do fabryki) (71)
    • Motywacja (73)
    • Mechanika (75)
    • Przykład (75)
  • Encapsulate Classes with Factory (zahermetyzuj klasy, wprowadzając fabrykę) (81)
    • Motywacja (82)
    • Mechanika (82)
    • Przykład (83)
    • Odmiany (86)
  • Introduce Polymorphic Creation with Factory Method (wprowadź polimorficzne tworzenie obiektów - wzorzec Factory Method) (88)
    • Motywacja (89)
    • Mechanika (90)
    • Przykład (91)
  • Encapsulate Composite with Builder (użyj klasy Builder do hermetyzacji obiektów Composite) (95)
    • Mechanika (97)
    • Przykład (98)
    • Odmiany (108)
  • Inline Singleton (wstaw kod klasy Singleton w miejscu wywołania) (111)
    • Motywacja (111)
    • Mechanika (114)
    • Przykład (114)

7. Upraszczanie kodu (117)

  • Compose Method (zbuduj metodę z kilku elementów) (118)
    • Motywacja (118)
    • Mechanika (120)
    • Przykład (120)
  • Replace Conditional Logic with Strategy (zastąp wyrażenia warunkowe wzorcem Strategy) (123)
    • Motywacja (123)
    • Mechanika (125)
    • Przykład (126)
  • Move Embellishment to Decorator (przenieś upiększenia do klasy Decorator) (136)
    • Motywacja (136)
    • Mechanika (139)
    • Przykład (140)
  • Replace State-Altering Conditionals with State (zastąp wyrażenia warunkowe zmiany stanu klasami State) (154)
    • Motywacja (155)
    • Mechanika (156)
    • Przykład (156)
  • Replace Implicit Tree with Composite (zastąp niejawne drzewo strukturą Composite) (165)
    • Motywacja (165)
    • Mechanika (168)
    • Przykład (169)
  • Replace Conditional Dispatcher with Command (zastąp dyspozycje oparte na warunkach obiektami Command) (177)
    • Motywacja (177)
    • Mechanika (179)
    • Przykład (180)

8. Uogólnianie kodu (187)

  • Form Template Method (utwórz metodę szablonową) (188)
    • Motywacja (189)
    • Mechanika (190)
    • Przykład (190)
  • Extract Composite (wyodrębnij kompozyt) (195)
    • Motywacja (195)
    • Mechanika (196)
    • Przykład (197)
  • Replace One/Many Distinctions with Composite (zastąp zróżnicowanie jeden-wiele wzorcem Composite) (203)
    • Motywacja (203)
    • Mechanika (205)
    • Przykład (206)
  • Replace Hard-Coded Notifications with Observer (zastąp powiadomienia zapisane w kodzie wzorcem Observer) (214)
    • Motywacja (214)
    • Mechanika (216)
    • Przykład (217)
  • Unify Interfaces with Adapter (zunifikuj interfejsy, wprowadzając adapter) (223)
    • Motywacja (224)
    • Mechanika (224)
    • Przykład (226)
  • Extract Adapter (wyodrębnij adapter) (233)
    • Motywacja (234)
    • Mechanika (235)
    • Przykład (236)
    • Odmiany (242)
  • Replace Implicit Language with Interpreter (zastąp niejawny język interpreterem) (243)
    • Motywacja (244)
    • Mechanika (245)
    • Przykład (246)

9. Ochrona (257)

  • Replace Type Code with Class (zastąp kod typu klasą) (258)
    • Motywacja (258)
    • Mechanika (260)
    • Przykład (261)
  • Limit Instantiation with Singleton (ogranicz tworzenie egzemplarzy, stosując singleton) (267)
    • Motywacja (267)
    • Mechanika (268)
    • Przykład (269)
  • Introduce Null Object (wprowadź obiekt pusty) (271)
    • Motywacja (271)
    • Mechanika (273)
    • Przykład (274)

10. Akumulacja (279)

  • Move Accumulation to Collecting Parameter (przenieś operacje gromadzenia danych do parametru zbierającego) (280)
    • Motywacja (280)
    • Mechanika (281)
    • Przykład (282)
  • Move Accumulation to Visitor (przenieś operacje gromadzenia danych do inspektora) (286)
    • Motywacja (287)
    • Mechanika (290)
    • Przykład (294)

11. Narzędzia (301)

  • Chain Constructors (połącz konstruktory w łańcuch) (302)
    • Motywacja (303)
    • Mechanika (303)
    • Przykład (303)
  • Unify Interfaces (zunifikuj interfejsy) (305)
    • Motywacja (305)
    • Mechanika (306)
    • Przykład (306)
  • Extract Parameter (wyodrębnij parametr) (307)
    • Motywacja (307)
    • Mechanika (308)
    • Przykład (308)

Posłowie (311)

Bibliografia (313)

Skorowidz (315)

Marka
Autor
Joshua Kerievsky
ISBN
8373619305
Potrzebujesz pomocy? Masz pytania?Zadaj pytanie a my odpowiemy niezwłocznie, najciekawsze pytania i odpowiedzi publikując dla innych.
Zapytaj o produkt
Jeżeli powyższy opis jest dla Ciebie niewystarczający, prześlij nam swoje pytanie odnośnie tego produktu. Postaramy się odpowiedzieć tak szybko jak tylko będzie to możliwe. Dane są przetwarzane zgodnie z polityką prywatności. Przesyłając je, akceptujesz jej postanowienia.
Napisz swoją opinię
Twoja ocena:
5/5
Dodaj własne zdjęcie produktu:
pixel