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.
Znajdź podobne książki
Ostatnio czytane w tej kategorii
Darmowy fragment publikacji:
IDZ DO
IDZ DO
PRZYK£ADOWY ROZDZIA£
PRZYK£ADOWY ROZDZIA£
SPIS TREŒCI
SPIS TREŒCI
KATALOG KSI¥¯EK
KATALOG KSI¥¯EK
KATALOG ONLINE
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
TWÓJ KOSZYK
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ZAMÓW INFORMACJE
O NOWOŒCIACH
O NOWOŒCIACH
ZAMÓW CENNIK
ZAMÓW CENNIK
CZYTELNIA
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Visual Basic .NET.
Wzorce projektowe
Autorzy: Mark Grand, Brad Merrill
T³umaczenie: Miko³aj Szczepaniak
ISBN: 83-246-0270-4
Tytu³ orygina³u: Visual Basic .NET Design Patterns
Format: B5, stron: 576
Poznaj zasady stosowania wzorców projektowych
(cid:129) Wykorzystaj notacjê UML
(cid:129) U¿yj wzorców projektowych w swojej pracy
(cid:129) 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.
(cid:129) Podstawowe elementy jêzyka UML
(cid:129) Proces projektowania oprogramowania
(cid:129) Miejsce wzorców projektowych w procesie tworzenia oprogramowania
(cid:129) Wzorce podstawowe
(cid:129) Wzorce konstrukcyjne
(cid:129) Wzorce partycjonuj¹ce
(cid:129) Wzorce strukturalne
(cid:129) Wzorce behawioralne
(cid:129) Wzorce przetwarzania wspó³bie¿nego
Naucz siê rozwi¹zywaæ rzeczywiste problemy, wykorzystuj¹c wzorce projektowe
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
D:\ROBOCZ~1\MAKIET~1\VISUAL~1.WZO\07POPR~1\!spis-04.doc
(17-05-06) — 3 —
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
— 4 — (17-05-06)
D:\ROBOCZ~1\MAKIET~1\VISUAL~1.WZO\07POPR~1\!spis-04.doc
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
D:\ROBOCZ~1\MAKIET~1\VISUAL~1.WZO\07POPR~1\!spis-04.doc
(17-05-06) — 5 —
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
— 6 — (17-05-06)
D:\ROBOCZ~1\MAKIET~1\VISUAL~1.WZO\07POPR~1\!spis-04.doc
Spis treści
7
Zastosowania w technologii .NET ...........................................................................226
Przykład kodu źródłowego ......................................................................................227
Wzorce pokrewne ....................................................................................................228
Bridge .............................................................................................................................229
Streszczenie ..............................................................................................................229
Kontekst ...................................................................................................................229
Zalety .......................................................................................................................232
Rozwiązanie .............................................................................................................232
Implementacja ..........................................................................................................234
Skutki stosowania ....................................................................................................234
Zastosowania w technologii .NET ...........................................................................235
Przykład ...................................................................................................................235
Wzorce pokrewne ....................................................................................................239
Façade .............................................................................................................................240
Streszczenie ..............................................................................................................240
Kontekst ...................................................................................................................240
Zalety .......................................................................................................................242
Rozwiązanie .............................................................................................................242
Implementacja ..........................................................................................................243
Skutki stosowania ....................................................................................................244
Zastosowania w technologii .NET ...........................................................................244
Przykład kodu źródłowego ......................................................................................244
Wzorce pokrewne ....................................................................................................247
Flyweight ........................................................................................................................247
Streszczenie ..............................................................................................................247
Kontekst ...................................................................................................................247
Zalety .......................................................................................................................252
Rozwiązanie .............................................................................................................252
Implementacja ..........................................................................................................253
Skutki stosowania ....................................................................................................254
Zastosowania w technologii .NET ...........................................................................254
Przykład kodu źródłowego ......................................................................................254
Wzorce pokrewne ....................................................................................................259
Dynamic Linkage ...........................................................................................................259
Streszczenie ..............................................................................................................259
Kontekst ...................................................................................................................259
Zalety .......................................................................................................................261
Rozwiązanie .............................................................................................................262
Implementacja ..........................................................................................................263
Skutki stosowania ....................................................................................................265
Zastosowania w technologii .NET ...........................................................................265
Przykład kodu źródłowego ......................................................................................265
Wzorce pokrewne ....................................................................................................268
Virtual Proxy ..................................................................................................................269
Streszczenie ..............................................................................................................269
Kontekst ...................................................................................................................269
Zalety .......................................................................................................................271
Rozwiązanie .............................................................................................................271
Implementacja ..........................................................................................................274
Skutki stosowania ....................................................................................................275
Przykład kodu źródłowego ......................................................................................275
Wzorce pokrewne ....................................................................................................277
Decorator ........................................................................................................................278
Streszczenie ..............................................................................................................278
D:\ROBOCZ~1\MAKIET~1\VISUAL~1.WZO\07POPR~1\!spis-04.doc
(17-05-06) — 7 —
8
Visual Basic .NET. Wzorce projektowe
Kontekst ...................................................................................................................278
Zalety .......................................................................................................................280
Rozwiązanie .............................................................................................................281
Implementacja ..........................................................................................................282
Skutki stosowania ....................................................................................................282
Przykład kodu źródłowego ......................................................................................283
Wzorce pokrewne ....................................................................................................285
Cache Management ........................................................................................................285
Streszczenie ..............................................................................................................285
Kontekst ...................................................................................................................285
Zalety .......................................................................................................................287
Rozwiązanie .............................................................................................................288
Implementacja ..........................................................................................................289
Skutki stosowania ....................................................................................................296
Przykład kodu źródłowego ......................................................................................297
Wzorce pokrewne ....................................................................................................306
Rozdział 7. Behawioralne wzorce projektowe .................................................. 307
Chain of Responsibility ..................................................................................................308
Streszczenie ..............................................................................................................308
Kontekst ...................................................................................................................308
Zalety .......................................................................................................................310
Rozwiązanie .............................................................................................................310
Implementacja ..........................................................................................................312
Skutki stosowania ....................................................................................................313
Zastosowania w technologii .NET ...........................................................................313
Przykład kodu źródłowego ......................................................................................313
Wzorce pokrewne ....................................................................................................318
Command .......................................................................................................................318
Streszczenie ..............................................................................................................318
Kontekst ...................................................................................................................318
Zalety .......................................................................................................................319
Rozwiązanie .............................................................................................................320
Implementacja ..........................................................................................................321
Skutki stosowania ....................................................................................................323
Zastosowania w technologii .NET ...........................................................................324
Przykład kodu źródłowego ......................................................................................324
Wzorce pokrewne ....................................................................................................329
Little Language ..............................................................................................................330
Streszczenie ..............................................................................................................330
Kontekst ...................................................................................................................330
Zalety .......................................................................................................................342
Rozwiązanie .............................................................................................................342
Implementacja ..........................................................................................................344
Skutki stosowania ....................................................................................................345
Zastosowania w technologii .NET ...........................................................................346
Przykład kodu źródłowego ......................................................................................346
Wzorce pokrewne ....................................................................................................355
Mediator .........................................................................................................................356
Streszczenie ..............................................................................................................356
Kontekst ...................................................................................................................356
Zalety .......................................................................................................................358
Rozwiązanie .............................................................................................................359
Implementacja ..........................................................................................................360
— 8 — (17-05-06)
D:\ROBOCZ~1\MAKIET~1\VISUAL~1.WZO\07POPR~1\!spis-04.doc
Spis treści
9
Skutki stosowania ....................................................................................................362
Przykład kodu źródłowego ......................................................................................363
Wzorce pokrewne ....................................................................................................368
Snapshot .........................................................................................................................368
Streszczenie ..............................................................................................................368
Kontekst ...................................................................................................................369
Zalety .......................................................................................................................373
Rozwiązanie .............................................................................................................374
Implementacja ..........................................................................................................376
Skutki stosowania ....................................................................................................384
Przykład kodu źródłowego ......................................................................................385
Wzorce pokrewne ....................................................................................................387
Observer .........................................................................................................................387
Streszczenie ..............................................................................................................387
Kontekst ...................................................................................................................387
Zalety .......................................................................................................................389
Rozwiązanie .............................................................................................................389
Implementacja ..........................................................................................................391
Skutki stosowania ....................................................................................................394
Zastosowania w technologii .NET ...........................................................................395
Przykład kodu źródłowego ......................................................................................395
Wzorce pokrewne ....................................................................................................397
State ................................................................................................................................397
Streszczenie ..............................................................................................................398
Kontekst ...................................................................................................................398
Zalety .......................................................................................................................402
Rozwiązanie .............................................................................................................402
Implementacja ..........................................................................................................404
Skutki stosowania ....................................................................................................405
Przykład kodu źródłowego ......................................................................................405
Wzorce pokrewne ....................................................................................................410
Strategy ...........................................................................................................................410
Streszczenie ..............................................................................................................410
Kontekst ...................................................................................................................411
Zalety .......................................................................................................................412
Rozwiązanie .............................................................................................................412
Implementacja ..........................................................................................................413
Skutki stosowania ....................................................................................................413
Zastosowania w technologii .NET ...........................................................................414
Przykład kodu źródłowego ......................................................................................414
Wzorce pokrewne ....................................................................................................416
Null Object .....................................................................................................................416
Streszczenie ..............................................................................................................417
Kontekst ...................................................................................................................417
Zalety .......................................................................................................................418
Rozwiązanie .............................................................................................................418
Implementacja ..........................................................................................................419
Skutki stosowania ....................................................................................................419
Przykład kodu źródłowego ......................................................................................420
Wzorce pokrewne ....................................................................................................421
Template Method ...........................................................................................................422
Streszczenie ..............................................................................................................422
Kontekst ...................................................................................................................422
Zalety .......................................................................................................................424
D:\ROBOCZ~1\MAKIET~1\VISUAL~1.WZO\07POPR~1\!spis-04.doc
(17-05-06) — 9 —
10
Visual Basic .NET. Wzorce projektowe
Rozwiązanie .............................................................................................................424
Implementacja ..........................................................................................................425
Skutki stosowania ....................................................................................................426
Przykład kodu źródłowego ......................................................................................426
Wzorce pokrewne ....................................................................................................428
Visitor .............................................................................................................................428
Streszczenie ..............................................................................................................429
Kontekst ...................................................................................................................429
Zalety .......................................................................................................................432
Rozwiązanie .............................................................................................................433
Implementacja ..........................................................................................................436
Skutki stosowania ....................................................................................................437
Przykład kodu źródłowego ......................................................................................437
Wzorce pokrewne ....................................................................................................440
Hashed Adapter Objects .................................................................................................441
Streszczenie ..............................................................................................................441
Kontekst ...................................................................................................................441
Zalety .......................................................................................................................444
Rozwiązanie .............................................................................................................445
Implementacja ..........................................................................................................446
Skutki stosowania ....................................................................................................448
Przykład kodu źródłowego ......................................................................................448
Wzorce pokrewne ....................................................................................................450
Rozdział 8. Wzorce projektowe przetwarzania współbieżnego ........................... 451
Single Threaded Execution ............................................................................................452
Streszczenie ..............................................................................................................453
Kontekst ...................................................................................................................453
Zalety .......................................................................................................................456
Rozwiązanie .............................................................................................................456
Implementacja ..........................................................................................................457
Skutki stosowania ....................................................................................................458
Przykład kodu źródłowego ......................................................................................459
Wzorce pokrewne ....................................................................................................461
Static Locking Order ......................................................................................................461
Streszczenie ..............................................................................................................461
Kontekst ...................................................................................................................461
Zalety .......................................................................................................................462
Rozwiązanie .............................................................................................................463
Skutki stosowania ....................................................................................................463
Implementacja ..........................................................................................................464
Znane zastosowania .................................................................................................464
Przykład kodu źródłowego ......................................................................................465
Wzorce pokrewne ....................................................................................................466
Lock Object ....................................................................................................................467
Streszczenie ..............................................................................................................467
Kontekst ...................................................................................................................467
Zalety .......................................................................................................................468
Rozwiązanie .............................................................................................................468
Implementacja ..........................................................................................................469
Skutki stosowania ....................................................................................................471
Przykład kodu źródłowego ......................................................................................471
Wzorce pokrewne ....................................................................................................473
— 10 — (17-05-06)
D:\ROBOCZ~1\MAKIET~1\VISUAL~1.WZO\07POPR~1\!spis-04.doc
Spis treści
11
Guarded Suspension .......................................................................................................473
Streszczenie ..............................................................................................................473
Kontekst ...................................................................................................................473
Zalety .......................................................................................................................474
Rozwiązanie .............................................................................................................475
Implementacja ..........................................................................................................476
Skutki stosowania ....................................................................................................478
Zastosowania w technologii .NET ...........................................................................479
Przykład kodu źródłowego ......................................................................................479
Wzorce pokrewne ....................................................................................................480
Balking ...........................................................................................................................480
Streszczenie ..............................................................................................................480
Kontekst ...................................................................................................................480
Zalety .......................................................................................................................482
Rozwiązanie .............................................................................................................482
Implementacja ..........................................................................................................483
Skutki stosowania ....................................................................................................483
Przykład kodu źródłowego ......................................................................................483
Wzorce pokrewne ....................................................................................................484
Scheduler ........................................................................................................................484
Streszczenie ..............................................................................................................485
Kontekst ...................................................................................................................485
Zalety .......................................................................................................................488
Rozwiązanie .............................................................................................................488
Implementacja ..........................................................................................................490
Skutki stosowania ....................................................................................................491
Przykład kodu źródłowego ......................................................................................491
Wzorce pokrewne ....................................................................................................495
Read/Write Lock ............................................................................................................495
Streszczenie ..............................................................................................................496
Kontekst ...................................................................................................................496
Zalety .......................................................................................................................497
Rozwiązanie .............................................................................................................498
Implementacja ..........................................................................................................499
Skutki stosowania ....................................................................................................500
Zastosowania w technologii .NET ...........................................................................501
Przykład kodu źródłowego ......................................................................................501
Wzorce pokrewne ....................................................................................................506
Producer-Consumer ........................................................................................................506
Streszczenie ..............................................................................................................506
Kontekst ...................................................................................................................506
Zalety .......................................................................................................................507
Rozwiązanie .............................................................................................................507
Implementacja ..........................................................................................................508
Skutki stosowania ....................................................................................................509
Zastosowania w technologii .NET ...........................................................................509
Przykład kodu źródłowego ......................................................................................509
Wzorce pokrewne ....................................................................................................511
Double Buffering ............................................................................................................511
Streszczenie ..............................................................................................................511
Kontekst ...................................................................................................................512
Zalety .......................................................................................................................513
Rozwiązanie .............................................................................................................514
Implementacja ..........................................................................................................515
D:\ROBOCZ~1\MAKIET~1\VISUAL~1.WZO\07POPR~1\!spis-04.doc
(17-05-06) — 11 —
12
Visual Basic .NET. Wzorce projektowe
Skutki stosowania ....................................................................................................517
Zastosowania w technologii .NET ...........................................................................518
Przykład kodu źródłowego ......................................................................................518
Wzorce pokrewne ....................................................................................................530
Asynchronous Processing ..............................................................................................531
Streszczenie ..............................................................................................................531
Kontekst ...................................................................................................................531
Zalety .......................................................................................................................534
Rozwiązanie .............................................................................................................534
Implementacja ..........................................................................................................535
Skutki stosowania ....................................................................................................537
Zastosowania w technologii .NET ...........................................................................537
Przykład kodu źródłowego ......................................................................................538
Wzorce pokrewne ....................................................................................................540
Future .............................................................................................................................540
Streszczenie ..............................................................................................................540
Kontekst ...................................................................................................................541
Zalety .......................................................................................................................542
Rozwiązanie .............................................................................................................543
Implementacja ..........................................................................................................545
Skutki stosowania ....................................................................................................547
Zastosowania w technologii .NET ...........................................................................547
Przykład kodu źródłowego ......................................................................................549
Wzorce pokrewne ....................................................................................................553
Bibliografia ................................................................................... 555
Skorowidz ..................................................................................... 557
— 12 — (17-05-06)
D:\ROBOCZ~1\MAKIET~1\VISUAL~1.WZO\07POPR~1\!spis-04.doc
Rozdział 4.
Konstrukcyjne wzorce projektowe opisują techniki organizowania procesów tworzenia
obiektów w sytuacjach, gdy realizacja tych procesów wymaga podejmowania istotnych
decyzji. Tego rodzaju działania zwykle wymagają dynamicznego identyfikowania klas,
których egzemplarze mają być tworzone, lub obiektów, do których należy delegować
odpowiedzialność. Konstrukcyjne wzorce projektowe opisują struktury mechanizmów
podejmowania tych decyzji.
Być może nie jest dla Ciebie jasne, dlaczego istnieją wyspecjalizowane wzorce pro-
jektowe dotyczące wyłącznie procesów tworzenia obiektów. Tworzenie obiektów klas
wiąże się z istotnymi problemami, które nie występują w żadnych innych dziedzinach.
Do najbardziej oczywistych problemów należą:
t
Tworzenie obiektów zwykle polega na wywołaniu operacji new. Nazwa klasy,
której egzemplarz tworzymy, występuje bezpośrednio po słowie new. Ponieważ
musi to być konkretna, trwale zakodowana nazwa, a nie zmienna łańcuchowa,
ten sposób tworzenia obiektów wyklucza możliwość stosowania jakiegokolwiek
pośrednictwa. Jeśli decyzja odnośnie klasy tworzonego obiektu powinna być
podejmowana w czasie wykonywania programu, należy zastosować inne
rozwiązanie.
t
Konstruowany obiekt może uzyskiwać dostęp wyłącznie do danych dzielonych
(zadeklarowanych ze słowem Shared) oraz parametrów przekazanych na
wejściu konstruktora. Dostęp do pozostałych informacji musi się odbywać
za pośr
Pobierz darmowy fragment (pdf)
Gdzie kupić całą publikację:
Opinie na temat publikacji:
Inne popularne pozycje z tej kategorii:
Czytaj również:
Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką :