PHP_Wzorce_projektowe_phpwzo.pdf

(1804 KB) Pobierz
Tytuł oryginału: Learning PHP Design Patterns
Tłumaczenie: Jakub Hubisz
ISBN: 978-83-246-7455-8
© 2013 Helion S.A.
Authorized Polish translation of the English edition of Learning PHP Design Patterns, ISBN
9781449344917 © 2013 William B. Sanders.
This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all
rights to publish and sell the same.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak
żadnej
odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również
żadnej
odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/phpwzo
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/phpwzo.zip
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
Przedmowa ............................................................................................................................. 13
I Wst�½p do wzorców projektowych..........................................................19
1. PHP a programowanie obiektowe............................................................................... 21
Wstöp do rednio zaawansowanego i zaawansowanego programowania
Dlaczego programowanie zorientowane obiektowo?
W jaki sposób uäatwiè rozwiñzywanie problemów?
Modularyzacja
Klasy i obiekty
Zasada jednej odpowiedzialno ci
Konstruktory w PHP
Klient jako klasa ñdajñca
Co z wydajno ciñ?
Szybko è tworzenia i modyfikacji rozwiñzaþ
Szybko è w zespole
Problemy z programowaniem sekwencyjnym i proceduralnym
Programowanie sekwencyjne
Programowanie proceduralne
Zapäaè teraz lub zapäaè potem
21
22
22
23
23
24
24
25
28
28
29
29
29
30
30
2. Podstawowe zagadnienia programowania obiektowego.........................................33
Abstrakcja
Klasy abstrakcyjne
Wäa ciwo ci i metody abstrakcyjne
Interfejsy
Interfejsy i staäe
Podpowiadanie typów: prawie typowanie
33
34
35
37
38
39
5
Kup książkę
Poleć książkę
Enkapsulacja
Enkapsulacja w yciu codziennym
Zapewnienie enkapsulacji poprzez widoczno è
Funkcje ustawiajñce i pobierajñce
Dziedziczenie
Polimorfizm
Jedna nazwa, wiele implementacji
Polimorfizm wbudowany we wzorcach projektowych
Tylko spokojnie
41
41
42
44
46
47
49
50
50
3. Podstawowe zagadnienia wzorców projektowych ................................................... 51
Wprowadzenie do MVC
Podstawowe zasady wzorców projektowych
Pierwsza zasada wzorców projektowych
Wykorzystanie typów interfejsowych przy podpowiadaniu typów
Klasy abstrakcyjne i ich interfejsy
Druga zasada wzorców projektowych
Przykäad zäo ono ci przy wykorzystaniu klienta
Delegacja: ró nica miödzy MA a JEST
Wzorce projektowe jako wielka ciñga
Organizacja wzorców projektowych
Wybór wzorca projektowego
Czym spowodowana jest konieczno è powtórnego projektowania?
Co siö zmienia?
Czym ró niñ siö wzorce projektowe od frameworków?
51
53
54
54
55
58
58
61
61
62
63
63
63
64
4. Wykorzystanie UML-a we wzorcach projektowych ..................................................65
Po co jözyk modelowania UML?
Diagramy klas
Symbole uczestnictwa
Notacja relacji
Relacje asocjacji
Relacje agregacji
Relacje implementacji i dziedziczenia
Relacje tworzenia
Relacje wielokrotne
Diagramy obiektów
Diagramy interakcji
Rola diagramów i notacji w programowaniu obiektowym
Narzödzia dla UML
Inne diagramy UML
65
66
67
69
69
71
72
74
74
75
76
77
77
78
6
_
Spis tre ci
Kup książkę
Poleć książkę
II Wzorce kreacyjne ....................................................................................79
5. Wzorzec Metoda Fabrykujéca ..................................................................................... 81
Czym jest wzorzec Metoda Fabrykujñca?
Kiedy korzystaè z Metody Fabrykujñcej
Minimalistyczny przykäad
Praca z fabrykñ
Klient
Wprowadzanie zmian w klasach
Dodanie elementów graficznych
Koordynowanie produktów
Zmiany w produkcie tekstowym
Zmiany w produkcie graficznym
Dodanie nowych produktów i parametryzowanych ñdaþ
Jedna fabryka i wiele produktów
Nowe fabryki
Nowe produkty
Klient z parametrem
Klasy pomocnicze
Diagram plików
Produkty siö zmieniajñ, interfejs zostaw w spokoju
81
82
83
83
85
86
86
87
88
89
90
91
91
92
93
94
95
96
6. Wzorzec Prototyp.........................................................................................................99
Czym jest wzorzec Prototyp?
Kiedy wykorzystaè wzorzec Prototyp
Funkcja klonujñca
Podczas klonowania konstruktor nie jest wywoäywany
W funkcji konstruktora nie powinny byè wykonywane adne zadania
Minimalistyczny przykäad
Badanie muszek owocówek
Dodanie do prototypu elementów obiektowych
Nowoczesna organizacja biznesowa
Enkapsulacja w interfejsie
Implementacje interfejsów
Klient
Wprowadzanie zmian, rozbudowa funkcjonalno ci
Dynamiczne tworzenie instancji obiektów
Wzorzec Prototyp w wiecie PHP
99
99
100
102
103
103
103
106
107
107
108
111
113
114
115
Spis tre ci
_
7
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin