NET Framework 20 Zaawansowane programowanie.pdf
(
637 KB
)
Pobierz
.NET Framework 2.0. Zaawansowane programowanie
Zaawansowane programowanie
Autor: Joe Duffy
T³umaczenie: Pawe³ Dudziak, Bogdan Kamiñski,
Grzegorz Werner
ISBN: 978-83-246-0654-2
Tytu³ orygina³u:
Professional .NET Framework 2.0
Format: B5, stron: 672
oprawa twarda
Przyk³ady na ftp: 78 kB
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Przegl¹d funkcji i mo¿liwoœci .NET Framework 2.0
oraz œrodowiska CLR 2.0 dla zaawansowanych
•
Jakie mo¿liwoœci oferuje platforma .NET Framework 2.0 i œrodowisko CLR 2.0?
•
Jak szybko i ³atwo pisaæ aplikacje dla systemu Windows?
•
Jak zwiêkszyæ sw¹ produktywnoœæ?
Wraz z coraz bardziej rozbudowan¹ funkcjonalnoœci¹ .NET Framework roœnie tak¿e jej
popularnoœæ. Mo¿liwoœæ b³yskawicznego tworzenia zaawansowanych aplikacji dla systemu
Windows na bazie tej platformy oraz wspólnego œrodowiska uruchomieniowego CLR sprawia,
¿e coraz wiêksza rzesza programistów pragnie poznaæ te technologie i wykorzystaæ je
do zwiêkszenia swej produktywnoœci. Wersja 2.0 .NET Framework udostêpnia wiêksz¹ liczbê
wbudowanych kontrolek, nowe funkcje obs³ugi baz danych za pomoc¹ ADO.NET, rozbudowane
narzêdzia do tworzenia witryn internetowych przy u¿yciu ASP.NET i wiele innych usprawnieñ
znacznie u³atwiaj¹cych programowanie.
„
.NET Framework 2.0. Zaawansowane programowanie
”
to podrêcznik dla programistów, którzy
chc¹ szybko rozpocz¹æ pracê z t¹ platform¹. Dziêki tej ksi¹¿ce poznasz mechanizmy dzia³ania
.NET Framework i œrodowiska CLR, a tak¿e funkcje licznych bibliotek, zarówno tych
podstawowych, jak i bardziej wyspecjalizowanych. Dowiesz siê, jak przy u¿yciu tych technologii
³atwo zapewniaæ bezpieczeñstwo kodu, debugowaæ oprogramowanie, obs³ugiwaæ transakcje,
zapewniaæ wspó³dzia³anie aplikacji z kodem niezarz¹dzanym i wykonywaæ wiele innych
potrzebnych operacji.
•
Funkcjonowanie œrodowiska CLR
•
Struktura i mechanizmy wspólnego systemu typów (CTS)
•
Dzia³anie jêzyka poœredniego (IL) i kompilacji JIT
•
Obs³uga operacji wejœcia-wyjœcia
•
Tworzenie aplikacji miêdzynarodowych
•
Zapewnianie bezpieczeñstwa kodu
•
Programowanie wspó³bie¿ne przy u¿yciu w¹tków, domen i procesów
•
Umo¿liwianie wspó³dzia³ania z kodem niezarz¹dzanym
•
Debugowanie oprogramowania
•
Stosowanie wyra¿eñ regularnych
•
Programowanie dynamiczne z zastosowaniem metadanych i refleksji
•
Obs³uga transakcji
Zacznij korzystaæ z mo¿liwoœci .NET Framework 2.0
i ju¿ dziœ zwiêksz sw¹ produktywnoœæ
.NET Framework 2.0.
O autorze .................................................................................................................................................... 11
Przedmowa ............................................................................................................................................... 13
Część I Podstawowe informacje o CLR
21
Rozdział 1. Wprowadzenie .......................................................................................................................23
Historia platformy ........................................................................................................ 23
Nadejście platformy .NET Framework ....................................................................... 24
Przegląd technologii .NET Framework ............................................................................ 25
Kluczowe udoskonalenia w wersji 2.0 ...................................................................... 26
Rozdział 2. Wspólny system typów ........................................................................................................29
Wprowadzenie do systemów typów ............................................................................... 30
Znaczenie bezpieczeństwa typologicznego ................................................................ 31
Statyczna i dynamiczna kontrola typów .................................................................... 33
Typy i obiekty .............................................................................................................. 37
Unifikacja typów ..................................................................................................... 37
Typy referencyjne i wartościowe ............................................................................... 39
Dostępność i widoczność ........................................................................................ 47
Składowe typów ..................................................................................................... 48
Podklasy i polimorfizm ............................................................................................ 73
Przestrzenie nazw: organizowanie typów ................................................................... 82
Typy specjalne ....................................................................................................... 84
Generyki ..................................................................................................................... 94
Podstawy i terminologia .......................................................................................... 94
Ograniczenia ........................................................................................................ 102
Lektura uzupełniająca ................................................................................................ 104
Książki poświęcone .NET Framework i CLR ............................................................. 104
Systemy typów i języki .......................................................................................... 104
Generyki i pokrewne technologie ........................................................................... 105
Konkretne języki ................................................................................................... 105
6
.NET Framework 2.0. Zaawansowane programowanie
Rozdział 3. Wewnątrz CLR .................................................................................................................... 107
Intermediate Language (IL) ......................................................................................... 108
Przykład kodu IL: „Witaj, świecie!” ......................................................................... 108
Asemblacja i dezasemblacja IL .............................................................................. 110
Abstrakcyjna maszyna stosowa ............................................................................. 110
Zestaw instrukcji .................................................................................................. 113
Wyjątki ..................................................................................................................... 127
Podstawy wyjątków ............................................................................................... 128
Szybkie zamknięcie .............................................................................................. 140
Wyjątki dwuprzebiegowe ....................................................................................... 140
Wydajność ........................................................................................................... 142
Automatyczne zarządzanie pamięcią ........................................................................... 144
Alokacja .............................................................................................................. 144
Odśmiecanie ....................................................................................................... 150
Finalizacja ........................................................................................................... 153
Kompilacja just-in-time (JIT) ........................................................................................ 155
Przegląd procesu kompilacji .................................................................................. 155
Wywoływanie metod ............................................................................................. 156
Obsługa architektury 64-bitowej ............................................................................ 162
Lektura uzupełniająca ................................................................................................ 162
Rozdział 4. Podzespoły, wczytywanie i wdrażanie ............................................................................. 165
Jednostki wdrażania, wykonywania i wielokrotnego użytku ............................................. 166
Metadane podzespołu .......................................................................................... 168
Podzespoły współdzielone (Global Assembly Cache) ............................................... 177
Podzespoły zaprzyjaźnione .................................................................................... 178
Wczytywanie podzespołów .......................................................................................... 179
Proces wiązania, mapowania i wczytywania ............................................................ 179
Wczytywanie CLR ................................................................................................. 188
Statyczne wczytywanie podzespołów ...................................................................... 189
Dynamiczne wczytywanie podzespołów ................................................................... 191
Przekazywanie typów ............................................................................................ 195
Generowanie obrazów natywnych (NGen) ..................................................................... 197
Zarządzanie buforem (ngen.exe) ............................................................................ 198
Adresy bazowe i poprawki ..................................................................................... 198
Wady i zalety ....................................................................................................... 201
Lektura uzupełniająca ................................................................................................ 202
Część II Podstawowe biblioteki .NET Framework
203
Rozdział 5. Najważniejsze typy .NET .................................................................................................... 205
Typy podstawowe ...................................................................................................... 205
Object ................................................................................................................. 207
Liczby ................................................................................................................. 214
Wartości logiczne ................................................................................................. 219
Łańcuchy ............................................................................................................. 219
IntPtr .................................................................................................................. 227
Daty i czas .......................................................................................................... 227
Pomocnicze klasy BCL ............................................................................................... 231
Formatowanie ...................................................................................................... 231
Analiza składniowa ............................................................................................... 235
Spis treści
7
Konwersja typów podstawowych ............................................................................ 236
Budowanie łańcuchów .......................................................................................... 237
Odśmiecanie ....................................................................................................... 238
Słabe referencje .................................................................................................. 240
Wywołania matematyczne ..................................................................................... 241
Najważniejsze wyjątki ................................................................................................. 244
Wyjątki systemowe ............................................................................................... 245
Inne standardowe wyjątki ...................................................................................... 247
Wyjątki niestandardowe ........................................................................................ 249
Lektura uzupełniająca ................................................................................................ 249
Rozdział 6. Tablice i kolekcje ................................................................................................................ 251
Tablice ..................................................................................................................... 251
Tablice jednowymiarowe ....................................................................................... 252
Tablice wielowymiarowe ........................................................................................ 253
Obsługa tablic w BCL (System.Array) ..................................................................... 256
Tablice stałe ........................................................................................................ 261
Kolekcje ................................................................................................................... 261
Kolekcje generyczne ............................................................................................. 262
Słabo typizowane kolekcje .................................................................................... 283
Porównywalność ................................................................................................... 284
Funkcjonalne typy delegacyjne ............................................................................... 289
Lektura uzupełniająca ................................................................................................ 291
Rozdział 7. Wejście-wyjście, pliki i sieć ............................................................................................. 293
Strumienie ................................................................................................................ 294
Praca z klasą bazową ........................................................................................... 294
Klasy czytające i piszące ...................................................................................... 303
Pliki i katalogi ...................................................................................................... 310
Inne implementacje strumieni ............................................................................... 318
Urządzenia standardowe ............................................................................................ 320
Zapisywanie danych na standardowym wyjściu i standardowym wyjściu błędów ......... 320
Czytanie ze standardowego wejścia ....................................................................... 321
Sterowanie konsolą .............................................................................................. 321
Port szeregowy .................................................................................................... 322
Sieć ......................................................................................................................... 322
Gniazda ............................................................................................................... 323
Informacje o sieci ................................................................................................ 331
Klasy do obsługi protokołów .................................................................................. 332
Lektura uzupełniająca ................................................................................................ 340
Rozdział 8. Internacjonalizacja ............................................................................................................ 343
Definicja internacjonalizacji ........................................................................................ 344
Obsługa platformy ................................................................................................ 344
Proces ................................................................................................................ 346
Przykładowe scenariusze ........................................................................................... 348
Dostarczanie zlokalizowanej treści ......................................................................... 348
Formatowanie regionalne ...................................................................................... 350
Kultura ..................................................................................................................... 351
Reprezentowanie kultur (CultureInfo) ..................................................................... 352
Formatowanie ...................................................................................................... 357
8
.NET Framework 2.0. Zaawansowane programowanie
Zasoby ..................................................................................................................... 358
Tworzenie zasobów .............................................................................................. 358
Pakowanie i wdrażanie ......................................................................................... 360
Dostęp do zasobów .............................................................................................. 362
Kodowanie ................................................................................................................ 363
Obsługa BCL ........................................................................................................ 364
Problemy z domyślną kulturą ...................................................................................... 365
Manipulacja łańcuchami (ToString, Parse i TryParse) ............................................... 365
Lektura uzupełniająca ................................................................................................ 369
Część III Zaawansowane usługi CLR
371
Rozdział 9. Bezpieczeństwo ................................................................................................................. 373
Zabezpieczenia dostępu do kodu ................................................................................ 374
Definiowanie zaufania .......................................................................................... 376
Uprawnienia ........................................................................................................ 380
Zarządzanie polityką ............................................................................................. 385
Stosowanie zabezpieczeń ..................................................................................... 386
Zabezpieczenia oparte na tożsamości użytkowników ........................................................ 391
Tożsamość .......................................................................................................... 392
Kontrola dostępu ................................................................................................. 393
Lektura uzupełniająca ................................................................................................ 396
Rozdział 10. Wątki, domeny i procesy ................................................................................................. 397
Wątki ....................................................................................................................... 400
Przydzielanie pracy wątkom należącym do puli ........................................................ 400
Jawne zarządzanie wątkami .................................................................................. 402
Odizolowane dane wątku ...................................................................................... 411
Współdzielenie elementów pomiędzy wątkami ........................................................ 414
Częste problemy współbieżności ........................................................................... 428
Zdarzenia ............................................................................................................ 430
Model programowania asynchronicznego ............................................................... 433
Zaawansowane zagadnienia wątkowości ................................................................ 436
Domeny AppDomain .................................................................................................. 441
Tworzenie ............................................................................................................ 441
Zwalnianie ........................................................................................................... 442
Wczytywanie kodu do domeny AppDomain .............................................................. 442
Szeregowanie ...................................................................................................... 443
Wczytywanie, zwalnianie i wyjątki ........................................................................... 443
Izolacja domeny AppDomain ................................................................................. 444
Procesy .................................................................................................................... 447
Istniejące procesy ................................................................................................ 447
Tworzenie ............................................................................................................ 449
Kończenie procesów ............................................................................................. 450
Lektura uzupełniająca ................................................................................................ 451
Rozdział 11. Interoperacyjność z kodem niezarządzanym ................................................................ 453
Wskaźniki, uchwyty i zasoby ....................................................................................... 454
Definicja interoperacyjności .................................................................................. 454
Natywne wskaźniki w CTS (IntPtr) .......................................................................... 455
Zarządzanie pamięcią i zasobami .......................................................................... 458
Plik z chomika:
Ravel25
Inne pliki z tego folderu:
Asembler dla procesorow Intel Vademecum profesjonalisty.pdf
(400 KB)
Asembler cwiczenia praktyczne.pdf
(358 KB)
Architektura systemow zarzadzania przedsiebiorstwem Wzorce projektowe.pdf
(829 KB)
Architektura oprogramowania Metody oceny oraz analiza przypadkow.pdf
(429 KB)
Aplikacje w Visual C++ 2005 Przyklady.pdf
(296 KB)
Inne foldery tego chomika:
(X) HTML
algorytmy i struktury danych
asembler
C++
Core JAVA2 Podstawy
Zgłoś jeśli
naruszono regulamin