Visual Basic .NET. Wzorce projektowe.pdf

(967 KB) Pobierz
Visual Basic .NET. Wzorce projektowe
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Visual Basic .NET.
SPIS TREŒCI
Wzorce projektowe
KATALOG KSI¥¯EK
Autorzy: Mark Grand, Brad Merrill
T³umaczenie: Miko³aj Szczepaniak
ISBN: 83-246-0270-4
Format: B5, stron: 576
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Poznaj zasady stosowania wzorców projektowych
Wykorzystaj notacjê UML
U¿yj wzorców projektowych w swojej pracy
Napisz w³asne wzorce
Wzorce projektowe to opisy rozwi¹zañ problemów programistycznych. Ich stosowanie
podczas tworzenia oprogramowania pozwala uzyskaæ oszczêdnoœci czasowe,
zwiêkszyæ efektywnoœæ pracy i zoptymalizowaæ dzia³anie programów. Wiele wzorców
ju¿ udokumentowano, a proces odkrywania nowych ci¹gle trwa. Programista
dysponuj¹cy wiedz¹ o wzorcach projektowych mo¿e ³atwo rozpoznawaæ problemy,
dla których te wzorce znajduj¹ zastosowanie, i natychmiast przystêpowaæ do
opracowywania rozwi¹zañ, bez koniecznoœci wstrzymywania projektu, analizowania
problemu i rozwa¿ania mo¿liwych strategii.
Ksi¹¿ka „Visual Basic .NET. Wzorce projektowe” to kompendium wiedzy o stosowaniu
wzorców projektowych podczas programowania w jêzyku Visual Basic. Zawiera
szczegó³owe omówienie najpopularniejszych wzorców, regu³y ich wykorzystywania
oraz przyk³ady kodu na nich opartego. Przy opisie ka¿dego wzorca znajdziesz równie¿
argumenty przemawiaj¹ce za jego stosowaniem lub unikaniem w konkretnych
przypadkach. Nauczysz siê tworzyæ w³asne wzorce i dokumentowaæ je w postaci
diagramów UML.
Podstawowe elementy jêzyka UML
Proces projektowania oprogramowania
Miejsce wzorców projektowych w procesie tworzenia oprogramowania
Wzorce podstawowe
Wzorce konstrukcyjne
Wzorce partycjonuj¹ce
Wzorce strukturalne
Wzorce behawioralne
Wzorce przetwarzania wspó³bie¿nego
Naucz siê rozwi¹zywaæ rzeczywiste problemy, wykorzystuj¹c wzorce projektowe
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOŒCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
119562325.002.png 119562325.003.png 119562325.004.png 119562325.005.png
O autorach ..................................................................................... 13
Wprowadzenie ................................................................................ 15
Krótka historia wzorców projektowych ...........................................................................16
Organizacja niniejszej książki ..........................................................................................17
Opis wzorców projektowych ............................................................................................18
Nazwa wzorca ............................................................................................................18
Streszczenie ................................................................................................................18
Kontekst .....................................................................................................................19
Zalety .........................................................................................................................19
Rozwiązanie ...............................................................................................................19
Implementacja ............................................................................................................19
Skutki stosowania ......................................................................................................20
Zastosowania w technologii .NET .............................................................................20
Przykład kodu źródłowego ........................................................................................20
Wzorce pokrewne ......................................................................................................20
Kto powinien przeczytać tę książkę? ...............................................................................20
Rozdział 1. Przegląd języka UML ....................................................................... 23
Diagram klas ....................................................................................................................24
Diagram współpracy ........................................................................................................36
Diagram stanów ................................................................................................................45
Rozdział 2. Cykl życia oprogramowania ............................................................. 47
Studium przypadku ..........................................................................................................50
Przypadek biznesowy .................................................................................................51
Definiowanie specyfikacji wymagań .........................................................................52
Opracowanie kluczowych przypadków użycia wysokiego poziomu ........................54
Analiza obiektowa .....................................................................................................56
Projekt obiektowy ......................................................................................................58
Rozdział 3. Podstawowe wzorce projektowe ...................................................... 69
Delegation (kiedy nie należy stosować relacji dziedziczenia) .........................................70
Streszczenie ................................................................................................................70
Kontekst .....................................................................................................................70
Zalety .........................................................................................................................73
119562325.001.png
4
Visual Basic .NET. Wzorce projektowe
Rozwiązanie ...............................................................................................................75
Implementacja ............................................................................................................75
Skutki stosowania ......................................................................................................75
Zastosowania w technologii .NET .............................................................................76
Przykład kodu źródłowego ........................................................................................76
Wzorce pokrewne ......................................................................................................78
Interfejs .............................................................................................................................78
Streszczenie ................................................................................................................78
Kontekst .....................................................................................................................78
Zalety .........................................................................................................................79
Rozwiązanie ...............................................................................................................80
Implementacja ............................................................................................................80
Skutki stosowania ......................................................................................................82
Zastosowania w technologii .NET .............................................................................82
Przykład kodu źródłowego ........................................................................................82
Wzorce pokrewne ......................................................................................................83
Abstract Base Class ..........................................................................................................83
Streszczenie ................................................................................................................83
Kontekst .....................................................................................................................84
Zalety .........................................................................................................................85
Rozwiązanie ...............................................................................................................86
Implementacja ............................................................................................................87
Skutki stosowania ......................................................................................................87
Zastosowania w interfejsie API platformy .NET .......................................................87
Przykład kodu źródłowego ........................................................................................88
Wzorce pokrewne ......................................................................................................90
Interface and Abstract Class .............................................................................................90
Streszczenie ................................................................................................................90
Kontekst .....................................................................................................................90
Zalety .........................................................................................................................90
Rozwiązanie ...............................................................................................................91
Skutki stosowania ......................................................................................................92
Zastosowania w interfejsie API platformy .NET .......................................................92
Przykład kodu źródłowego ........................................................................................93
Wzorce pokrewne ......................................................................................................94
Immutable .........................................................................................................................94
Streszczenie ................................................................................................................94
Kontekst .....................................................................................................................94
Zalety .........................................................................................................................96
Rozwiązanie ...............................................................................................................97
Implementacja ............................................................................................................98
Skutki stosowania ......................................................................................................98
Zastosowania w interfejsie API platformy .NET .......................................................99
Przykład kodu źródłowego ........................................................................................99
Wzorce pokrewne ....................................................................................................100
Proxy ..............................................................................................................................100
Streszczenie ..............................................................................................................100
Kontekst ...................................................................................................................100
Zalety .......................................................................................................................102
Rozwiązanie .............................................................................................................102
Implementacja ..........................................................................................................103
Skutki stosowania ....................................................................................................103
Przykład kodu źródłowego ......................................................................................103
Wzorce pokrewne ....................................................................................................110
Spis treści
5
Rozdział 4. Konstrukcyjne wzorce projektowe ................................................. 113
Factory Method ..............................................................................................................114
Streszczenie ..............................................................................................................114
Kontekst ...................................................................................................................115
Zalety .......................................................................................................................116
Rozwiązanie .............................................................................................................116
Implementacja ..........................................................................................................119
Skutki stosowania ....................................................................................................121
Zastosowania w technologii .NET ...........................................................................122
Przykład kodu źródłowego ......................................................................................122
Wzorce pokrewne ....................................................................................................127
Abstract Factory .............................................................................................................128
Streszczenie ..............................................................................................................128
Kontekst ...................................................................................................................128
Zalety .......................................................................................................................130
Rozwiązanie .............................................................................................................131
Implementacja ..........................................................................................................133
Skutki stosowania ....................................................................................................133
Przykład kodu źródłowego ......................................................................................135
Wzorce pokrewne ....................................................................................................139
Builder ............................................................................................................................139
Streszczenie ..............................................................................................................139
Kontekst ...................................................................................................................139
Zalety .......................................................................................................................143
Rozwiązanie .............................................................................................................143
Implementacja ..........................................................................................................145
Skutki stosowania ....................................................................................................147
Zastosowania w technologii .NET ...........................................................................147
Przykład kodu źródłowego ......................................................................................147
Wzorce pokrewne ....................................................................................................149
Prototype ........................................................................................................................149
Streszczenie ..............................................................................................................149
Kontekst ...................................................................................................................150
Zalety .......................................................................................................................151
Rozwiązanie .............................................................................................................151
Implementacja ..........................................................................................................153
Skutki stosowania ....................................................................................................154
Zastosowania w technologii .NET ...........................................................................155
Przykład kodu źródłowego ......................................................................................155
Wzorce pokrewne ....................................................................................................159
Singleton .........................................................................................................................159
Streszczenie ..............................................................................................................159
Kontekst ...................................................................................................................160
Zalety .......................................................................................................................161
Rozwiązanie .............................................................................................................161
Implementacja ..........................................................................................................162
Skutki stosowania ....................................................................................................164
Zastosowania w technologii .NET ...........................................................................165
Przykład kodu źródłowego ......................................................................................165
Wzorce pokrewne ....................................................................................................166
Object Pool .....................................................................................................................166
Streszczenie ..............................................................................................................166
Kontekst ...................................................................................................................166
Zalety .......................................................................................................................169
6
Visual Basic .NET. Wzorce projektowe
Rozwiązanie .............................................................................................................169
Implementacja ..........................................................................................................171
Skutki stosowania ....................................................................................................174
Przykład kodu źródłowego ......................................................................................174
Wzorce pokrewne ....................................................................................................178
Rozdział 5. Partycjonujące wzorce projektowe ................................................ 181
Filter ...............................................................................................................................181
Streszczenie ..............................................................................................................181
Kontekst ...................................................................................................................182
Zalety .......................................................................................................................182
Rozwiązanie .............................................................................................................183
Implementacja ..........................................................................................................186
Skutki stosowania ....................................................................................................187
Zastosowania w technologii .NET ...........................................................................187
Przykład kodu źródłowego ......................................................................................188
Wzorce pokrewne ....................................................................................................191
Composite .......................................................................................................................191
Streszczenie ..............................................................................................................191
Kontekst ...................................................................................................................192
Zalety .......................................................................................................................193
Rozwiązanie .............................................................................................................194
Implementacja ..........................................................................................................195
Skutki stosowania ....................................................................................................196
Zastosowania w technologii .NET ...........................................................................198
Przykład kodu źródłowego ......................................................................................198
Wzorce pokrewne ....................................................................................................202
Read-Only Interface .......................................................................................................203
Streszczenie ..............................................................................................................203
Kontekst ...................................................................................................................203
Zalety .......................................................................................................................205
Rozwiązanie .............................................................................................................206
Implementacja ..........................................................................................................207
Skutki stosowania ....................................................................................................207
Przykład kodu źródłowego ......................................................................................207
Wzorce pokrewne ....................................................................................................209
Rozdział 6. Strukturalne wzorce projektowe .................................................... 211
Adapter ...........................................................................................................................212
Streszczenie ..............................................................................................................212
Kontekst ...................................................................................................................212
Zalety .......................................................................................................................214
Rozwiązanie .............................................................................................................214
Implementacja ..........................................................................................................215
Skutki stosowania ....................................................................................................216
Przykład kodu źródłowego ......................................................................................217
Wzorce pokrewne ....................................................................................................221
Iterator ............................................................................................................................221
Streszczenie ..............................................................................................................221
Kontekst ...................................................................................................................222
Zalety .......................................................................................................................223
Rozwiązanie .............................................................................................................223
Implementacja ..........................................................................................................224
Skutki stosowania ....................................................................................................226
Zgłoś jeśli naruszono regulamin