Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
O autorach ................................................................................................... 21
Wstp ............................................................................................................. 23
Historia jzyka Visual Basic (VB) ...................................................................................................... 23
Visual Basic .NET (oraz C#) .............................................................................................................. 24
Visual Basic .NET 2003. Ksiga eksperta .......................................................................................... 24
Sposb organizacji ksiki ................................................................................................................. 24
Cz I Podstawy ...................................................................................................................... 24
Cz II Aplikacje Windows Forms ......................................................................................... 25
Cz III Programowanie baz danych ....................................................................................... 25
Cz IV Aplikacje Web (ASP.NET) ....................................................................................... 25
Cz V Zaawansowane programowanie .................................................................................. 25
Cz VI Zabezpieczanie aplikacji ........................................................................................... 25
Cz VII Technologia Remoting ............................................................................................. 26
Cz VIII Usugi Web ............................................................................................................. 26
Cz IX Usugi Enterprise ....................................................................................................... 26
Jak korzysta z tej ksiki ............................................................................................................ 26
Cz I Podstawy ..................................................................................27
Rozdzia 1. Wprowadzenie do .NET ............................................................ 29
Oprogramowanie jako usuga ............................................................................................................. 29
Produkty .NET ............................................................................................................................. 30
Usugi .NET ................................................................................................................................. 30
.NET Framework .......................................................................................................................... 30
Zadania .NET Framework .................................................................................................................. 33
Poznajemy architektur .NET Framework ......................................................................................... 34
Poznajemy zadania .NET Framework ................................................................................................ 35
Co to jest MSIL? ................................................................................................................................ 36
Co to jest plik Portable Executable (PE)? ..................................................................................... 36
Poznajemy kompilator JIT ........................................................................................................... 37
Wsplne rodowisko uruchomieniowe ............................................................................................... 37
Skadniki CLR .............................................................................................................................. 37
Biblioteka klas .NET Framework ................................................................................................. 38
Zalety CLR ................................................................................................................................... 41
Co to jest podzesp? .......................................................................................................................... 43
Struktura podzespou .................................................................................................................... 44
Wykorzystanie metody XCOPY do bezobsugowej instalacji podzespow ................................ 45
Spis treci
Spis treci
10
Spis treci
11
12
Spis treci
13
Doczanie wielu formantw formularza do rnych waciwoci jednego obiektu .......................... 428
Doczanie wielu waciwoci jednego obiektu do wielu waciwoci innego obiektu .................... 430
Doczanie formantw formularza do listy ArrayList obiektw ....................................................... 431
Ograniczenie aplikacji BindToAnArraylistOfObjects tylko do odczytu .................................... 433
Doczanie do odczytu i zapisu ........................................................................................................ 433
Implementacja doczania do odczytu i zapisu we wasnej kolekcji obiektw ........................... 434
Przykadowa aplikacja: ReadWriteBindableCollection .............................................................. 435
Jak dziaa aplikacja ReadWriteBindableCollection .................................................................... 436
Klasa Product ............................................................................................................................. 439
Klasa Products ............................................................................................................................ 443
Dodatkowe operacje pozwalajce podczy aplikacj ReadWriteBindableCollection
do bazy danych ........................................................................................................................ 450
Przykadowe aplikacje doczone do ksiki .................................................................................... 451
Podsumowanie .................................................................................................................................. 451
Propozycje dalszych lektur ............................................................................................................... 453
14
Spis treci
15
16
Spis treci
17
18
Spis treci
19
20
Dodatki .................................................................................................931
Skorowidz ...................................................................................................933
Rozdzia 1.
Wprowadzenie do .NET
W skrcie
W tym rozdziale przedstawiamy, czym jest .NET, jak dziaa, jak programici mog go
wykorzysta i opisujemy wiele jego nowych funkcji. Omawiamy tu wszystkie aspekty
zastosowania .NET Framework, jego architektur i rne komponenty.
Mwic najprociej, .NET to nastpna generacja platformy programowej firmy Microsoft
przeznaczonej dla oprogramowania dla Windows i internetu. Jednak .NET jest czym
wicej ni tylko now platform do tworzenia oprogramowania. Aby Czytelnicy zrozumieli, czym naprawd jest .NET i jak mona go najlepiej wykorzysta, przedstawimy
podstawowe cele wprowadzenia platformy .NET. .NET to na nowo zaprojektowana,
rewolucyjna architektura programowa firmy Microsoft, ktrej zadaniem jest zrealizowanie nowej myli przewodniej Microsoftu: program jako usuga. W firmie Microsoft
postanowiono urzeczywistni t ide, a .NET jest pierwszym krokiem w tym kierunku.
Jednym z wanych zaoe tej architektury jest wanie oprogramowanie jako usuga,
a co to oznacza w rzeczywistoci, przedstawimy w kolejnych punktach.
produkty .NET,
usugi .NET,
.NET Framework.
30
Cz I Podstawy
Produkty .NET
Produkty .NET to wszystkie obecne i przysze produkty firmy Microsoft wchodzce w skad
.NET. Najwaniejszym produktem w tym obszarze jest Visual Studio .NET. Visual Studio
.NET to produkt pozwalajcy programistom na atwe tworzenie aplikacji oraz oferujcy
wiele funkcji wspomagajcych proces tworzenia. IDE Visual Studio umoliwia atwy
dostp do tych narzdzi.
Usugi .NET
Usugi .NET to usugi oferowane przez firm Microsoft, ktre pozwalaj programistom
na wykorzystanie gotowych zbiorw funkcji we wasnych aplikacjach. Obecnie Microsoft
oferuje tylko jedn usug Passport. Usuga Microsoft Passport pozwala na autoryzacj
uytkownikw i jest wykorzystywana w takich witrynach jak HotMail oraz NineMSN.
Usuga Passport pozwala programistom na zrealizowanie scentralizowanej identyfikacji
uytkownikw.
.NET Framework
Poniewa .NET Framework jest cakowicie zintegrowany z systemem operacyjnym Windows i dlatego jest cakowicie przezroczysty dla programisty i uytkownika pozwala
programistom na tworzenie szybkich, elastycznych, skalowalnych i efektywnych aplikacji.
Dodatkowo programici mog tworzy aplikacje wspdziaajce z innymi aplikacjami .NET
oraz komponentami napisanymi za pomoc zupenie innych jzykw programowania.
Jest to nowy, wietny pomys, moliwy do zrealizowania tylko dziki odpowiedniej konstrukcji .NET Framework. W firmie Microsoft takie dziaanie zaplanowano ju od pocztku. Oznacza to, e mona pisa komponenty w dowolnym jzyku programowania
zgodnym z .NET, na przykad C#, i korzysta z nich w aplikacji napisanej w VB.NET.
Koncepcje i technologie dodane do .NET Framework obejmuj bibliotek klas .NET Framework, wsplne rodowisko uruchomieniowe, Windows Forms (WinForms) oraz ASP.NET.
W nastpnych punktach przyjrzymy si tym elementom nieco dokadniej.
31
Zarzdzanie pamici
Zarzdzanie pamici jest jedn z najwaniejszych funkcji realizowanych przez wsplne
rodowisko uruchomieniowe. Dziaanie tego mechanizmu jest niewidoczne dla programisty, co umoliwia mu skupienie si na tworzeniu aplikacji zamiast na pamitaniu o rnych aspektach zarzdzania pamici.
Skalowalno
Zwikszona skalowalno jest bezporednim wynikiem omwionych ju funkcji, takich
jak byskawiczne tworzenie aplikacji oraz zarzdzanie pamici. Byskawiczne tworzenie
aplikacji pozwala powici wicej czasu na dostrajanie i poprawianie wydajnoci aplikacji, natomiast funkcje zarzdzania pamici dostpne we wsplnym rodowisku uruchomieniowym zwikszaj wydajno operacji na pamici oraz ilo zasobw dostpnych
dla aplikacji.
Pamitaj, e mona rwnie skonwertowa MSIL na kod rodzimy, dziki czemu
otrzymujemy zwyke pliki wykonywalne, takie jak w przypadku C lub C++.
32
Cz I Podstawy
ASP.NET
ASP.NET to nastpna generacja Active Server Page (ASP) technologii dostpnej w serwerze Internet Information Server (IIS). Najwiksza i najbardziej popularna zmiana
w .NET Framework powstaa w czasie transformacji ASP na ASP.NET. W porwnaniu
ze star, klasyczn wersj ASP ASP.NET jest cakowicie inn platform. Wiele osb wydaje si gubi w ASP.NET i niektrych jego nowych funkcjach. Trzeba wyjani kilka
kwestii. ASP.NET nie korzysta ju z VBScript. Obecnie obsuguje wszystkie kompilowane jzyki .NET, takie jak VB.NET, C# oraz JScript .NET. ASP.NET bazuje na obiektowym paradygmacie sterowanym zdarzeniami, a nie na paradygmacie sekwencyjnym zastosowanym w klasycznym ASP. Oprcz podobnej nazwy ASP oraz ASP.NET maj
jeszcze kilka podobiestw.
ASP.NET jest jzykiem wykonywanym na serwerze, sterowanym zdarzeniami, wykorzystujcym dowolny z jzykw .NET. Poniewa ASP.NET korzysta z paradygmatu obiektowego, wymuszona zostaa bardziej formalna skadnia. Pozwala to znacznie poprawi
wydajno i uatwi wykorzystanie komponentw, zdarze, waciwoci i metod. W porwnaniu z tradycyjnym ASP najwiksz zalet ASP.NET jest integracja ze wsplnym
rodowiskiem uruchomieniowym. ASP.NET korzysta z wielu udogodnie wsplnego
rodowiska uruchomieniowego, w tym obsugi standardowych technik programistycznych. Dodatkowo strony ASP.NET s kompilowane i po pierwszym uruchomieniu buforowane w pamici serwera. Daje to znaczne przyspieszenie pracy w porwnaniu z tradycyjnymi stronami ASP, ktre s kompilowane za kadym uruchomieniem.
33
Innym problemem tradycyjnych stron ASP jest skalowalno. W przypadku ASP kod oraz
HTML mog si znajdowa w tym samym pliku, co czsto powoduje, e niemal niemoliwe jest zapanowanie nad kodem i projektem. Oczywicie obiekty COM pozwalay
rozdzieli kod na warstwy, ale wielu programistw po prostu umieszczao kod logiki
biznesowej bezporednio na stronach ASP. To nie byo dobre rozwizanie.
Z wielu powodw ASP.NET jest istotn czci .NET. Najwaniejszym powodem jest
to, e strony ASP.NET s superklejem czcym ze sob internet i aplikacje Win32. Usugi
sieciowe s uwaane za cz ASP.NET. Jako protok komunikacyjny w usugach sieciowych wykorzystywany jest Simple Object Access Protocol (SOAP). SOAP jest mocno
zwizany z XML, co sprawia, e jest idealny w erze programowania dla internetu.
Zadaniem usug sieciowych jest udostpnienie innym programistom komponentw i funkcji ASP.NET, a nawet gotowych aplikacji (konfigurowanych poprzez sie). Usugi sieciowe pozwalaj programistom na zachowanie dla siebie sposobu dziaania kodu aplikacji
i udostpnienie tylko minimalnej liczby metod oraz zmiennych skadowych pozwalajcych
na zaimplementowanie funkcji oferowanej przez dan usug. To wszystko jest zwizane
z wizj Microsoftu dotyczc oprogramowania jako usugi. Usugi sieciowe s niezwykle efektywnym i popularnym dodatkiem do .NET i aby je w peni doceni, trzeba wyprbowa je w dziaaniu.
Potencja usug sieciowych
W przypadku usug sieciowych klienci mog oczekiwa wielu zaawansowanych komponentw internetowych oraz usug, ktre atwiej pozwalaj speni ich oczekiwania. Wyobramy sobie wiat
za kilka lat. Moesz by programist tworzcym usug sieciow pomagajc klientom uczy poprzez
sie swoich nowych pracownikw bez adnej interwencji ze strony czowieka. W przypadku .NET
moliwoci s nieograniczone i sytuacja moe si tylko poprawia.
34
Cz I Podstawy
W nastpnym punkcie omwimy architektur .NET Framework oraz sposb, w jaki zapewnia ona wszystkie przedstawione tu cele.
35
36
Cz I Podstawy
Co to jest MSIL?
MSIL mona zdefiniowa jako niezaleny od procesora zbir instrukcji wykorzystywanych przez skompilowane aplikacje .NET. Zawiera on instrukcje do adowania, zapisywania i inicjalizacji obiektw. Kopiujc aplikacj napisan w C# lub dowolnym innym
jzyku zgodnym z CLS, otrzymujemy w wyniku kod MSIL. Gdy wsplne rodowisko
uruchomieniowe uruchamia aplikacj, kompilator Just-In-Time (JIT) konwertuje MSIL
na kod maszynowy zrozumiay dla procesora danego komputera. Proces ten jest przedstawiony na rysunku 1.2.
Rysunek 1.2.
Konwersja MSIL
na kod maszynowy
Aby moliwa bya integracja rnych jzykw, MSIL wspdziaa z metadanymi oraz
wsplnym systemem typw. Jak ju wspominalimy, wsplny system typw jest jednym
z podstawowych mechanizmw.NET Framework, ktry zapewnia integracj rnych jzykw przez obsug typw i operacji uywanych w wikszoci jzykw programowania.
Kompilator generuje kod MSIL oraz manifest jako przeznaczon tylko do odczytu
cz pliku EXE majcego standardowy nagwek PE (plik wykonywalny Win32).
37
Skadniki CLR
Na rysunku 1.3 przedstawiona jest architektura wsplnego rodowiska uruchomieniowego i jego rnych skadnikw.
Rysunek 1.3.
Architektura
wsplnego rodowiska
uruchomieniowego .NET
38
Cz I Podstawy
39
Odwoywanie si do istniejcych bibliotek kodu w Visual Basicu jest tradycyjnie bardzo proste. Jednak czsto biblioteki kodu nie byy od razu dostpne dla programistw
korzystajcych z jzyka Visual Basic. Programici C++ mogli korzysta z wszystkich
funkcji nowych bibliotek, natomiast programici VB musieli poczeka, a Microsoft lub
inna firma napisze interfejs pozwalajcy na wykorzystanie biblioteki z poziomu VB. Rwnie czsto wystpoway problemy z dokumentacj. Biblioteka .NET Framework pomaga
rozwiza te problemy przez udostpnienie jednolitego interfejsu dla wszystkich jzykw korzystajcych z .NET Framework. Rwnie organizacja klas w .NET Framework
znacznie uatwia prac.
40
Cz I Podstawy
przepakowanie istniejcych funkcji na posta obiektow. Faktycznie, cho biblioteka klas
zawiera kilka nowych funkcji, wikszo funkcji udostpnianych w przestrzeniach nazw
bya ju wczeniej dostpna w Win32 API, formantach ActiveX, bibliotekach DLL bazujcych na COM i tak dalej. Teraz s one upakowane w taki sposb, e mona programowa je na wyszym poziomie abstrakcji, na ktrym nie trzeba si zajmowa problemami obsugi niewielkich struktur danych wymaganych przez Win32 API. Bezporednim
wynikiem tej operacji jest to, e w swojej aplikacji naley obsugiwa tylko jeden, nadrzdny wzorzec projektowy komponenty s wykorzystywane w rodowisku obiektowym. Co wicej, taki model pracy jest dostpny we wszystkich jzykach przeznaczonych dla wsplnego rodowiska uruchomieniowego.
Na wypadek, gdyby mia wtpliwoci, dodajmy, e biblioteka klas .NET Framework nie
zastpia Win32 API. Biblioteka klas nadal korzysta z istniejcych klas Win32 API, ktre
komunikuj si z Win32 API i wykonuj kod poprzez mechanizm nazywany P/Invoke.
41
Zalety CLR
Wsplne rodowisko uruchomieniowe zapewnia wiele usug dla kodu zarzdzanego,
w tym integracj wielu jzykw, zwikszone bezpieczestwo, obsug wersjonowania
i wdraania, debugowanie i profilowanie oraz zarzdzanie pamici poprzez automatyczne odzyskiwanie nieuytkw. W tym punkcie przedstawimy te zalety nieco bardziej
szczegowo.
42
Cz I Podstawy
kady jzyk dostpny w .NET Framework. Lista funkcji moliwych do integracji zawiera dziedziczenie, obsug wyjtkw oraz szeregowanie. Na przykad mona zdefiniowa
interfejs w jzyku COBOL i implementowa go w takich jzykach jak VB.NET i C#.
Zwikszone bezpieczestwo
Obecnie kod wykonywany na naszych komputerach to nie tylko instalowane przez nas
aplikacje, ale rwnie kod pobierany z internetu poprzez strony WWW lub poczt elektroniczn. Ostatnie przypadki pokazay, e moe by to bardzo szkodliwe dla systemu.
W jaki sposb .NET pozwala ograniczy te zagroenia?
rodowisko .NET posiada zabezpieczenia dostpu do kodu, ktre pozwalaj kontrolowa
dostp do chronionych zasobw i operacji. Kod posiada rny poziom zaufania, w zalenoci od jego pochodzenia i sposobu, w jaki do nas dotar. Niektre funkcje tego systemu
bezpieczestwa s wymienione poniej:
43
Odzyskiwanie nieuytkw
W kodzie niezarzdzanym bardzo czsto wystpuj wycieki pamici. Wyciek pamici
wystpuje wtedy, gdy pami przydzielona w aplikacji nie jest zwalniana w momencie,
gdy nie jest ona ju potrzebna. Najbardziej naraone na wycieki pamici s aplikacje pisane
za pomoc takich jzykw jak C++, w ktrych programici mog przydziela pami ze
sterty. Jednak w kodzie zarzdzanym za usuwanie obiektw, z ktrych aplikacja ju nie
korzysta, odpowiada mechanizm zbierania nieuytkw (GC). Gdy w aplikacji napisanej
w kodzie zarzdzanym przydzielana jest pami, jest ona zawsze kojarzona z obiektem.
Mechanizm GC zajmuje si zbieraniem tych obiektw, do ktrych nie istniej ju odwoania w aplikacji, dziki czemu w kodzie zarzdzanym nie spotyka si wyciekw pamici.
Do identyfikacji obiektw, ktre powinny by skasowane, GC korzysta z procesu nazywanego eliminacj.
W czasie dziaania procesu eliminacji GC korzysta z danych, jakie wsplne rodowisko
uruchomieniowe utrzymuje na temat kadej dziaajcej aplikacji. Na pocztek GC odczytuje list gwnych obiektw, do ktrych bezporednio odwouj si aplikacje. Nastpnie tworzy list obiektw, do ktrych odwouj si gwne obiekty. Gdy GC zidentyfikuje
wszystkie obiekty, do ktrych aplikacja odwouje si porednio lub bezporednio, wszystkie pozostae obiekty w zarzdzanej stercie mog zosta skasowane. Proces zbierania
nieuytkw jest wywoywany automatycznie przez wsplne rodowisko uruchomieniowe, jak rwnie aplikacje mog jawnie go wywoa poprzez uycie metody GC.Collect.
Co to jest podzesp?
Aby .NET mg zrealizowa zapewnienia o zrewolucjonizowaniu przyszoci informatyki, wewntrz rodowiska musi mie zaimplementowane wszystkie innowacyjne funkcje.
Jedn z tych innowacji jest sposb wykonywania i wersjonowania aplikacji przeszed
on dug drog w kierunku eliminowania niesawnego problemu pieka DLL. Microsoft
44
Cz I Podstawy
prbowa rozwiza ten problem, wprowadzajc podzesp, ktry jest podstawow jednostk w aplikacjach .NET.
W aplikacjach .NET podzespoy s wykorzystywane bardzo intensywnie. S one podstawowymi elementami budulcowymi aplikacji .NET. Reprezentuj logiczny zbir jednego
lub wicej programw wykonywalnych lub bibliotek doczanych dynamicznie (DLL),
ktre zawieraj kod aplikacji oraz zasoby. Podzespoy zapewniaj formaln struktur dla
widocznoci i wersjonowania w czasie dziaania. Podzespoy zawieraj tzw. manifest,
ktry jest opisem kodu i zasobw zawartych wewntrz podzespou. Poniewa manifest
zawiera wszystkie informacje na temat podzespou, jest on odpowiedzialny za samoopisujc natur podzespou. Zanim zajmiemy si rnymi typami podzespow i ich zaletami, przedstawimy struktur podzespou.
Struktura podzespou
Oglna struktura podzespou jest przedstawiona na rysunku 1.4.
Rysunek 1.4.
Struktura podzespou
modu;
zbir zasobw.
Manifest
Dziki manifestowi podzesp jest samoopisujcy. Manifest zawiera:
45
Modu
Moduem moe by DLL lub plik wykonywalny w formacie Windows PE. Moduy te zawieraj kod kompilowany do postaci Microsoft Intermediate Language (MSIL).
Modu jest zapisywany w rozszerzonej postaci formatu PE. Jest to niezbdne, poniewa
podstawowy format PE nie pozwala na zapisanie informacji o wersji ani metadanych.
Metadane typw
Typ jest poczeniem danych oraz metod operujcych na tych danych. Skada si z waciwoci, pl oraz metod. Pola s zmiennymi publicznymi, do ktrych mona odwoywa
si w bezporedni sposb. Waciwoci s podobne do pl, ale maj skojarzone instrukcje, ktre s wykonywane przy dostpie do waciwoci. Metody reprezentuj akcje lub
zachowanie si typu.
46
Cz I Podstawy
Typy podzespow
Przy okrelaniu typu podzespou powinno si wzi pod uwag dwa czynniki:
47
Podzespoy prywatne
Podzesp prywatny jest widoczny tylko dla jednej aplikacji. Wikszo aplikacji .NET
jest budowana w postaci prywatnych podzespow, poniewa jednym z najwaniejszych
zada .NET Framework jest izolacja aplikacji od zmian, jakie inne aplikacje wprowadziy
do systemu. Tworzc prywatne podzespoy, zapisujemy je w katalogu bin aplikacji, w ktrej
s wykorzystywane. Poniewa zasig podzespow prywatnych ogranicza si do biecej aplikacji, wymagania co do nazewnictwa podzespow prywatnych s proste: nazwy
musz by unikalne wewntrz aplikacji. Kady prywatny podzesp jest specyficzny dla
jednej, okrelonej aplikacji, wic nie ma potrzeby zapisywa w nich informacji o wersji.
Gdy wsplne rodowisko uruchomieniowe otrzyma danie zaadowania podzespou,
przeksztaca nazw podzespou na nazw pliku zawierajcego manifest. Proces ten jest
nazywany sondowaniem.
Podzespoy wspdzielone
Innym rodzajem podzespou jest podzesp wspdzielony, ktry jest wykorzystywany
przez wiele aplikacji na tej samej maszynie. Podzespoy wspdzielone s przechowywane
w globalnym buforze podzespow (ang. Global Assembly Cache), ktry jest centralnym
repozytorium podzespow wspdzielonych z danego komputera. Naley pamita, e
w .NET to programici podejmuj decyzj o wspdzieleniu kodu pomidzy aplikacjami.
Podejcie to jest cakowicie odwrotne ni w przypadku COM, gdzie programici byli
zmuszeni wspdzieli swoje komponenty i przez to pojawiao si ryzyko, e inna aplikacja zastpi nasze komponenty swoimi. Jeeli korzystasz z Visual Studio .NET i dodasz
odwoanie do zewntrznego podzespou (wspdzielonego), ktry znajduje si w globalnym buforze podzespow, Visual Studio nie wykona kopii lokalnej tego podzespou.
Zamiast tego bezporednio odwoa si do podzespou z globalnego bufora. Dziaanie takie
jest wymuszane przez warto waciwoci CopyLocal, ktra przy dodaniu odwoania do
wspdzielonego podzespou jest ustawiana na false. Do waciwoci tej mona uzyska
dostp, klikajc podzesp prawym klawiszem myszy i wybierajc z menu kontekstowego opcj Properties.
Podzespoy wspdzielone s zaprojektowane jako rozwizanie problemw z wspdzieleniem kodu. Jednak podzespoy wspdzielone musz spenia nastpujce wymagania:
48
Cz I Podstawy
Metadane
Metadane s informacjami pozwalajcymi na opisywanie komponentw. Metadane s
wykorzystywane do opisywania wielu aspektw komponentw, w tym klas, metod, pl
oraz podzespow. Wsplne rodowisko uruchomieniowe korzysta z metadanych do realizacji rnych zada, na przykad kontroli poprawnoci podzespou przed jego uruchomieniem czy te zbierania nieuytkw w czasie dziaania kodu.
49
Wszystkie jzyki zdefiniowane w Visual Studio .NET (VB.NET, VC++ oraz C#) speniaj wszystkie trzy poziomy zgodnoci z CLS. Jeeli tworzysz jzyk przeznaczony dla
wsplnego rodowiska uruchomieniowego, musisz wybra poziom zgodnoci pasujcy
do Twoich wymaga. Pena obsuga jzyka w .NET Framework wymaga wiele pracy
od dostawcy jzyka. Producent musi dostarczy kompilator jzyka, ktry ma moliwo
tworzenia kodu poredniego zamiast kodu maszynowego. Funkcje jzyka musz by zgodne
50
Cz I Podstawy
ze standardami ustalonymi przez CLS. Jeeli przejdziesz proces zmiany architektury jzyka,
Twj jzyk moe w zamian korzysta z takich zalet jak:
APL,
Perl,
Python,
SmallTalk,
COBOL,
Scheme,
Eiffel,
Oberon,
Mercury.
Podsumowanie
rodowisko Microsoft .NET Framework oferuje wiele nowych narzdzi do byskawicznego tworzenia aplikacji o jakoci przemysowej. cisa integracja API przeznaczonych
dla internetu, takich jak usugi sieciowe, XML oraz ASP.NET, powoduje, e platforma
ta jest szczeglnie kuszca dla aplikacji nowej generacji. Dodatkowo integracja z innymi
jzykami daje .NET Framework przewag nad platformami zalenymi od architektury
i jzyka. Niezaleno platformy powoduje, e .NET Framework staje si nowym liderem w tworzeniu aplikacji rozproszonych.
W tym rozdziale opisalimy sporo tematw. Zaczlimy od zada .NET i wanych komponentw platformy .NET. Nastpnie przedstawilimy wprowadzenie do wsplnego rodowiska uruchomieniowego i omwilimy usugi oferowane aplikacjom przeznaczonym na
platform .NET. Omwilimy rwnie trzy wane skadniki aplikacji .NET podzespoy,
moduy oraz typy. Nastpnie przedstawilimy CLS oraz zasady, jakich musz przestrzega
niezaleni dostawcy, aby utworzy jzyki korzystajce z usug platformy .NET.