Title: Platforma .NET VB.NET
1Platforma .NETVB.NET
2Instalacja pakietów platformy .NET
- Kolejnosc instalacji
- 1. Microsoft .NET Framework 1.1, plik
dotnetfx.exe - Pakiet redystrybucyjny systemu Microsoft .NET
Framework w wersji 1.1 - http//download.microsoft.com/download/c/9/f/c9f6
72f3-c14b-4cff-9671-d419842d792d/dotnetfx.exe - 2. Microsoft .NET Framework 1.1 plik
langpack.exe Pakiet jezyka polskiego,
http//download.microsoft.com/download/4/9/c/49c1
7289-dfd6-4eca-87a1-a2fe5e580774/langpack.exe - 3. Pakiet programowania Microsoft Asp.NET Web
Matrix Project, plik WebMatrix.msi - http//www.asp.net/webmatrix/default.aspx
3Ogólna charakterystyka platformy .NET
- Platforma .NET jest calkowicie nowym modelem
budowania systemów w rodzinie systemów
operacyjnych Windows i w przyszlosci innych
systemów Charakteryzuje sie - Pelna interoperacyjnoscia z dotychczas napisanym
kodem - tzn. .NET nie odcina sie od kodu, który
powstal dotychczas mozna w latwy sposób
wykorzystywac zewnetrzne biblioteki jak i
istniejace serwery COM i na odwrót kod
"niezarzadzany" (unmanaged code - kod pisany w
technologii innej niz .NET Framework) moze
korzystac z bibliotek napisanych w kodze
zarzadzanym.
4Ogólna charakterystyka platformy .NET
- Integracja jezykowa - .NET Framework wprowadza
- skrosne miedzyjezykowe dziedziczenie,
- miedzyjezykowa obsluge.
- Mozna tworzyc program, którego poszczególne
moduly beda tworzone w róznych jezykach platformy
.NET (np. w jednym projekcie mozna wykorzystac
VB.NET, C oraz J). - Posiada wspólny mechanizm wykonawczy - czyli
wspólna warstwe, do której kompilowane sa
wszystkie jezyki operujace na platformie .NET.
Jednym z elementów tego mechanizmu jest dokladnie
sprecyzowany system typów, wspólny dla wszystkich
jezyków obslugiwanych przez .NET.
5Ogólna charakterystyka platformy .NET
- Posiada biblioteke klas podstawowych - ukrywa ona
nieprzyjazne API udostepniajac klasy, które mozna
bezposrednio wykorzystywac we wszystkich jezykach
platformy .NET. Ulatwia ona m.in. - Dostep do danych,
- Tworzenie GUI (Graphical User Interface),
- Obsluge plików,
- Obsluge watków,
- Obsluge zabezpieczen,
- Obsluge XML/SOAP,
- Debuggowanie.
6Ogólna charakterystyka platformy .NET
- Posiada uproszczony model projektowania -
wyeliminowanie problemów, jakie nioslo ze soba
programowanie w technologii COM nie ma juz
koniecznosci rejestracji jednostki wykonawczej w
rejestrze systemowym - mozliwe jest
wspólistnienie róznych wersji tej samej
biblioteki DLL na jednym komputerze. - Obecnie istnieje równiez platforma .NET Compact
Framework docelowo skierowana na urzadzenia
przenosne.
7Ogólna charakterystyka platformy .NET
- Platforma .NET jest to nowej generacji srodowisko
przeznaczone do tworzenia oraz instalacji
oprogramowania internetowego oraz aplikacji
Windows. Platforme tworza trzy podstawowe
elementy - wspólne srodowisko uruchomieniowe CLR,
umozliwiajace wykonywanie aplikacji napisanych w
dowolnym jezyku programowania, - zbiór klas tego srodowiska,
- nowa wersja ASP.NET - dynamiczna technologia
internetowa dzialajaca po stronie serwera. - Produkty .NET obejmujace zintegrowane w ramach
tego srodowiska glówne produkty Microsoftu, takie
jak Windows, Visual Studio oraz pakiet Office.
8Ogólna charakterystyka platformy .NET
- Integracja produktów .NET oparta jest na
- XML- jezyku opisu danych,
- SOAP - protokole transmisji danych miedzy
produktami. - Uslugi .NET, umozliwiaja wspólprace niezaleznych
zespolów programistów tworzacych aplikacje oparte
na platformie .NET. - Jako kolejne produkty przewidywane sa uslugi
skladowe, zapewniajace obsluge tozsamosci,
powiadamianie oraz komunikacje (zintegrowana
obsluga poczty elektronicznej, poczty glosowej i
faksu), personalizacje, przechowywanie w formacie
XML, opcje kalendarza, klasyfikacje katalogowa i
wyszukiwanie informacji oraz dynamiczna dostawe
produktów platformy.
9Ogólna charakterystyka platformy .NET
- Programy napisane w Visual Studio .NET
uruchamiane sa w wirtualnej maszynie .NET
Framework, a wiec sa niezalezne od systemu
operacyjnego. - Platforme .NET Framework dla Windows 2000,
Windows 98, Windows Me, mozna pobrac ze strony - http//msdn.microsoft.com/netframework/downloads
- Platforma .NET Framework dla Windows 2003 jest
instalowana automatycznie podczas instalacji
systemu.
10Schemat platformy .NET
11Ogólna charakterystyka platformy .NET
- Rdzen platformy stanowi .NET Framework
zawierajacy - wlasciwa platforme jezykowa i wykonawcza CLR
- obszerne biblioteki klas bazowych, zapewniajace
wysoki poziom wbudowanej funkcjonalnosci. - .NET Framework korzysta ze standardu XML oraz
protokolu SOAP. - .NET Enterprise Server to rodzina produktów
serwerowych, zastepujacych serwery MS. - Standardowym mechanizmem komunikacji komponentów
platformy jest COM. - Platforma .NET oferuje rozbudowane narzedzia do
generowania aplikacji internetowych
korzystajacych z baz danych (np.. sklep
internetowy), takie jak np. Web Services,
ASP.NET, ADO.NET.
12Glówne komponenty platformy .NET
- Architektura .NET sklada sie z trzech warstw
Interfejsy uzytkownika i programowe
ASP.NET
WinForms, Web Forms, Web Service
Standardowy system uslug nowej generacji
XML
ADO.NET
Klasy bazowe platformy .NET
Srodowisko uruchomieniowe CLR
zarzadzanie pamiecia
wspólny system typów
monitorowanie
Taka Architektura zapewnia integracje
technologii prezentacji, komponentów oraz danych.
13 Srodowisko uruchomieniowe CLR
Glówne elementy srodowiska CLR
Wspólny system typów
Bezpieczenstwo
Kompilacja kodu IL
Obsluga wykonywania (tradycyjne funkcje
srodowiska uruchomieniowego)
Zarzadzanie stosem i pamiecia, opóznianie pamieci
Ladowanie klas i uklad pamieci
- Jest to srodowisko uruchamiania aplikacji,
skompilowa-nych na wspólny jezyk posredni MSIL
lub IL
14 Glówne cele srodowiska CLR
- Latwiejsze i szybsze tworzenie oprogramowania.
- Automatyczna obsluga procesów udrazniania,
takich jak zarzadzanie pamiecia i komunikacja
procesów. Proces udrazniania ulatwilo
wprowadzenie metadanych generowanych przez
kompilator i automatycznie przechowywane w
plikach EXE lub DLL. - Do metadanych na platformie .NET zaliczamy
- zlozenia, takie jak
- publiczny klucz uwierzytelnienia,
- typy eksportowane przez zlozenie,
- inne zlozenia, na których oparte jest zlozenie,
- zezwolenie bezpieczenstwa potrzebne do
uruchomienia.
15 Glówne cele srodowiska CLR
- klasy bazowe oraz interfejsy uzywane przez
zlozenia, - atrybuty definiowane przez uzytkownika i przez
kompilator - Metadane sa wykorzystywane do obslugi przez CLR
szerokiej grupy narzedzi, takich jak - narzedzia projektowania,
- narzedzia testowania,
- narzedzia profilowania,
- generatory proxy,
- inne kompilatory - narzedzia najczesciej uzywane,
- przegladarki obiektów i typów,
- generatory schematów.
16 Glówne cele srodowiska CLR
- Proste i bezpieczne wdrazanie aplikacji
- aplikacje tworzone w srodowisku .NET mozna
instalowac przez skopiowanie plików na dysk lub
z plyty CD i uruchomienie aplikacji, gdyz
kompilatory .NET wstawiaja identyfikatory w
kompilowane moduly, a CLR automatycznie zarzadza
tymi identyfikatorami. - istnieje mozliwosc wykonywania jednoczesnie kilku
wersji tego samego komponentu, którymi CRL
zarzadza i wybiera zdefiniowana wersje. - Aplikacje tworzone w .NET instaluja jedynie
wlasna logike bez srodowiska uruchomieniowego lub
np. modulów obslugi ADO lub XML).
17 Glówne cele srodowiska CLR
- Skalowalnosc, która glównie dotyczy
- funkcji wykonawczych dzialajacych na poziomie
systemu, wykorzystywanych do tworzenia aplikacji
w srodowisku .NET, - zarzadzania pamiecia i przetwarzania pamiec w
srodowisku CLR jest automatycznie konfigurowana i
optymalizowana, - jezyków programowaniawszystkie jezyki
kompilowane sa na standardowy kod bajtowy jezyka
posredniego IL, wiec praktycznie w srodowisku CLR
nie róznia sie wydajnoscia, - platformy sprzetowej (od palmtopów do
rozbudowanych systemów sieciowych)
18 Glówne cele srodowiska CLR
- Integracja i obsluga róznorodnych jezyków
- W srodowisku .NET Framework przy pomocy jednego
jezyka mozna tworzyc podklasy klasy
zaimplemento-wanej w innym jezyku, np. klasy
napisane w VB moga dziedziczyc z klas bazowych
napisanych w C lub COBOL-u. - Integracje jezyków umozliwia wspólny system
typów, w którym wszystkie wspólnie uzywane typy
danych, nawet bazowe, sa implementowane jako
obiekty, oraz wspólna biblioteka typów. - Wykorzystanie przestrzeni nazw do organizowania
bibliotek i hierarchii obiektów, uproszczenia
uzywania referencji do obiektów i okreslania
zakresu identyfikatorów obiektów.
19 Wdrazanie i uruchamianie programów w srodowisku
CLR
- Aplikacja zbudowana jest z jednego lub kilku
zlozen, a takze moze zawierac wlasciwe dla niej
dane lub pliki. Zlozenie jest jednostka wdrazania
aplikacji. Moze sie ono skladac z jednego lub
kilku plików. - Moduly kodu zródlowego zlozenia sa kompilowane na
IL - jezyk posredni srodowiska CLR, a nastepnie
na kod wykonywalny, z wykorzystaniem mechanizmu
kompilacji na zadanie JIT (Just-In-Time). - W srodowisku .NET kompilowane sa równiez skrypty
ASP czy VBScript, które podczas pierwszego uzycia
przetwarzane sa na kod IL. Kompilacja skryptów
jest przeprowadzana automatycznie i na biezaco.
20 Biblioteka klas bazowych BCL
Warstwa srodkowa platformy .NET obejmuje uslugi,
modele obiektów danych zawierajace obiekty ADO
oraz ADO.NET , XML oraz klasy bazowe platformy
.NET.
- Wszystkie jezyki programowania platformy .NET
korzystaja z tej samej biblioteki klas bazowych
BCL (Base Code Library) - Biblioteka BCL jest biblioteka klas jezyka MSIL.
- Klasy bazowe zostaly podzielone miedzy logiczne,
hierarchicznie uporzadkowane przestrzenie nazw
(Namespaces) - Podstawowa przestrzenia nazw jest przestrzen
System, zawierajace wszystkie definicje i klasy
bazowe
21Przestrzen nazw System
- Przestrzen nazw System - zawiera podstawowe klasy
oraz klasy bazowe, które definiuja - najczesciej uzywane typy danych,
- zdarzenia i procedury obslugi zdarzen,
- interfejsy, atrybuty i wyjatki.
- Inne klasy w przestrzeni nazw System udostepniaja
uslugi zwiazane z - konwersja typów danych,
- manipulowaniem parametrami metod,
- obliczeniami matematycznymi,
- zdalnym i lokalnym wywolywanie programów
- zarzadzaniem srodowiskiem aplikacji,
- nadzorowaniem kodu.
22 Przestrzenie nazw
- Kolejne w hierarchii sa przestrzenie niskiego
poziomu, takie jak - System Collection - zawiera klasy zawierajace
definicje sposobu porzadkowania danych - System.Configuration - zawiera klasy i interfejsy
które pozwalaja na programowy dostep do ustawien
konfiguracyjnych .NET Framework i obsluge bledów
w plikach konfiguracyjnych (pliki .config).
23Przestrzen nazw System
- System.Data - zawiera glównie klasy skladajace
sie na architekture dostepu do danych ADO .NET.
Architektura ta umozliwia tworzenie komponentów,
które pozwalaja na wydajne zarzadzanie danymi
pochodzacymi z róznych zródel. - System.Data.Common - zawiera klasy wspóldzielone
przez dostawców danych .NET Framework. - System.Data.ODBC - zawiera klasy skladajace sie
na .NET Framework Data Provider for ODBC, czyli
dostawce danych dla interfejsu ODBC - System.Data.OleDB - zawiera klasy skladajace sie
na .NET Framework Data Provider for OleDB
24Przestrzen nazw System
- System.Data.SqlClient - zawiera klasy skladajace
sie na .NET Framework Data Provider for SQL
Server, czyli dostawce danych dla serwera MS SQL
Server. - System.Data.SqlTypes - udostepnia klasy
reprezentujace rodzime typy danych serwera
Microsoft SQL Server. - System.Diagnostics udostepnia klasy sluzace do
sledzenia wykonania kodu i usuwania bledów
(np..Debug) - System.DirectoryServices umozliwia wygodny
dostep do Active Directory z poziomu kodu
zarzadzanego
25Przestrzen nazw System
- System.Drawing - umozliwia dostep do podstawowej
funkcjonalnosci graficznej biblioteki systemowej
GDI. - System.Drawing.Drawing2D - udostepnia
zaawansowana funkcjonalnosc zwiazana z grafika 2D
i grafika wektorowa. - System.Drawing.Text - udostepnia zaawansowana
funkcjonalnosc zwiazana z typografia
i wykorzystaniem kolekcji czcionek - System.IO - zawiera typy umozliwiajace
synchroniczny i asynchroniczny odczyt i zapis
strumieni danych i plików.
26Przestrzen nazw System
- System.Net - udostepnia proste interfejsy
programistyczne dla wielu protokolów uzywanych we
wspólczesnych sieciach. - System.Runtime.InteropServices - Udostepnia
róznorodne klasy obslugujace wspólprace z modelem
COM i wywolywanie uslug systemowych. - System.Runtime.Serialization - Zawiera klasy
które moga byc uzywane do serializowania
i deserializowania obiektów. Proces serializacji
polega na konwersji obiektu lub calego grafu
obiektów do postaci liniowej sekwencji bajtów,
która mozna nastepnie zachowac lub przeslac do
innej lokalizacji. Deserializacja jest procesem
odwrotnym.
27Przestrzen nazw System
- System.Net.Sockets - Udostepnia zarzadzana
implementacje interfejsu Windows Sockets - System.Security - Umozliwia dostep do podsystemu
zabezpieczen .NET Framework. - System.Security.Cryptography - Udostepnia uslugi
kryptograficzne, w tym bezpieczne kodowanie
i dekodowanie danych, tworzenie skrótów
jednokierunkowych, generowanie liczb losowych
i uwierzytelnianie komunikatów. - System.Text.RegularExpressions - Zawiera klasy
umozliwiajace manipulacje na wyrazeniach
regularnych.
28Przestrzen nazw System
- System.Threading - Zawiera klasy i interfejsy
umozliwiajace programowanie wielowatkowe. - System.Timers - Zawiera komponent Timer
umozliwiajacy wywolywanie zdarzenia w okreslonych
odstepach czasu. - System.Web - Zawiera klasy i interfejsy
umozliwiajace komunikacje przegladarki
internetowej z serwerem, a ponadto manipulacje
plikami cookie, transfer plików, obsluge wyjatków
i zarzadzanie buforem wyjsciowym. - System.Web.Caching - Zawiera klasy pozwalajace na
buforowanie czesto uzywanych danych po stronie
serwera.
29Przestrzen nazw System
- System.Web.Configuration - Zawiera klasy
pozwalajace na odczyt i modyfikacje konfiguracji
ASP .NET - System.Web.Mail - Zawiera klasy umozliwiajace
tworzenie i wysylanie wiadomosci email za
posrednictwem komponentu CDOSYS Messaging. - System.Web.Security - Zawiera klasy uzywane do
implementowania zabezpieczen ASP .NET
w aplikacjach sieci Web. - System.Web.Services - Zawiera klasy umozliwiajace
tworzenie uslug webowych XML Web Serwices oraz
klientów tych uslug.
30Przestrzen nazw System
- System.Web.SessionState - Zawiera klasy
i interfejsy umozliwiajace przechowywanie danych
specyficznych dla poszczególnych klientów
aplikacji ASP .NET. Informacje o stanie sesji
daja uzytkownikowi wrazenie stalego polaczenia z
aplikacja. Informacje o stanie sesji moga byc
przechowywane w lokalnej pamieci procesu na
serwerze Web lub np. w zewnetrznej bazie danych
SQL Server. - System.Web.UI - Zawiera klasy umozliwiajace
tworzenie kontrolek HTML dzialajacych po stronie
serwera. Kontrolki HTML sa mapowane bezposrednio
na tagi HTML interpretowane przez przegladarki
internetowe i pozwalaja na programowe
manipulowanie elementami HTML na stronie
internetowej.
31Przestrzen nazw System
- System.Web.UI.WebControls - Zawiera klasy
umozliwiajace umieszczanie na stronie
internetowej kontrolek webowych dzialajacych po
stronie serwera, takich jak elementy formularzy
(np. przyciski i pola tekstowe), oraz takich jak
kalendarz czy DataGrid. Moga byc one manipulowane
za posrednictwem kodu dzialajacego po stronie
serwera, a ich model obiektowy niekoniecznie musi
przekladac sie na kod HTML. - System.Windows.Forms - Zawiera klasy
umozliwiajace tworzenie funkcjonalnych aplikacji
dzialajacych pod kontrola systemu Microsoft
Windows.
32Przestrzenie nazw
- System.Math - biblioteka funkcji matematycznych
(np..Sqrt, Cos, Log, Min) - System.Reflection - funkcje analizy metadanych
(np..Assembly, Module) - System.Xml - Zawiera klasy umozliwiajace
przetwarzanie dokumentów XML.
33Przestrzenie nazw
- Microsoft.Csharp - zawiera klasy obslugujace
kompilacje i generowanie kodu przy uzyciu jezyka
programowania C. - Microsoft.Jscript - zawiera klasy obslugujace
kompilacje i generowanie kodu przy uzyciu jezyka
programowania JScript. - Microsoft.VisualBasic - zawiera klasy obslugujace
kompilacje i generowanie kodu przy uzyciu jezyka
programowania Visual Basic .NET.
34 Interfejsy uzytkownika
Warstwa górna platformy .NET umozliwia trzy
sposoby wyswietlania i zarzadzania interfejsem.
Sa to formularze Windows, formularze Web oraz
aplikacje konsolowe.
- Formularze Widows (WinForms) oparte sa na klasach
Windows Foundation Classes (WFC), utworzonych dla
J, bedace czescia klas srodowiskowych
przestrzeni nazw System.Windows.Forms. - WinForms oparty jest na mechanizmie tworzenia
formularzy Visual Basica. - W VisualStudio.NET do tworzenia formularzy sluzy
wizualny kreator EWinForms.
35 Interfejsy uzytkownika
- Formularze Web (WebForms) stanowia nowa generacje
narzedzi tworzenia interfejsów WWW. - Podstawowe narzedzia WebForms to
- szablon zawierajacy kod HTML, z informacjami na
temat sposobu wyswietlania wszystkich elementów
interfejsu, - komponent zawierajacy informacje o strukturze
logicznej interfejsu. - Formularze Web skladaja sie z dwóch czesci
- pierwsza zawiera informacje o kontrolkach i ich
rozmieszeniu, - druga zawiera kod, przy czym zdarzenia w
kontrolkach uruchamiaja schematy zdarzen w kodzie.
36 Interfejsy uzytkownika
- Kontrolki w Formularzach Web obslugiwane sa na
serwerze, ale wynik ich dzialania dostepny jest
na komputerze klienta. - Dla elementów interfejsu uzytkownika, formularza
Web lub strony ASP na serwerze tworzony jest
serwer posredniczacy proxy. - Kontrolka dzialajaca po stronie serwera sprawdza
lokalna strukture logiczna i tworzy wlasny
interfejs uzytkownika w postaci kodu HTML,
rozsylany we wszystkich stronach zawierajacych
kontrolki. - Kontrolki dzialajace na serwerze moga zarzadzac
wlasnym stanem.
37 Interfejsy uzytkownika
- Formularze Web wysylaja wraz ze strona
skompresowana informacje o stanie do przegladarki
klienta, a kontrolki po stronie serwera ja
przechwytuja i wykorzystuja przy generowaniu
strony. - W srodowisku .NET Framework dostepny jest
interfejs do tworzenia aplikacji konsolowych. - Do interfejsu konsolowego moga byc zapisywane
zintegrowane komponenty zawarte w procesach
przetwarzajacych w trybie wsadowym. - Interfejs konsolowy, podobnie jak formularze
Windows i formularze Web dostepny jest dla
aplikacji napisanej w dowolnym jezyku platformy
.NET.
38 Interfejsy programowe
- Interfejsem programowym sa uslugi Web,
umozliwiajace tworzenie aplikacji
wykorzystujacych rozproszone lokalne i zdalne
zasoby, integrowane w spójne rozwiazanie. - Na platformie .NET uslugi Web sa implementowane
jako czesc technologii ASP .NET, która obsluguje
wszystkie interfejsy WWW. Technologia ta pozwala
integrowac w jednolite aplikacje rozproszone
uslugi internetowe. - Integracje na platformie .NET zapewnia w znacznym
stopniu jezyk XML. - W postaci XML sa najczesciej przechowywane
metadane. - Technologia XML jest wykorzystywana w ADO.NET,
umozliwiajac zdalne zarzadzanie i reprezentacje
danych.
39 Interfejsy programowe
- Platforma .NET umozliwia sprawne poslugiwanie sie
komponentami dotychczasowej technologii
oprogramowania COM/COM, tak jakby byly one
komponentami .NET. Translacja interfejsu
przebiega automatycznie. - Pierwszym komponentem platformy .NET jest Visual
Studio .NET - kolejna wersja Visual Studio. - Visual Studio .NET zawiera jezyki Visual Basic,
Visual C, C (który zastapil J). - Wszystkie jezyki Visual Studio.NET uzywaja
identycznego zintegrowanego srodowiska
programistycznego IDE (Integrated Development
Environment).
40 Instalacja Visual Studio .NET
- Przy instalacji Visual Studio .NET zostana
zainstalowane komponenty
41- Nastepny krok to opcje instalacji.
- Do tworzenia ASP.NET potrzebne bedzie gtgtgtgt
42- Visual Basic .NET lub C .NET
- (oba jezyki maja ta mozliwosc)
- .NET Framework SDK ( niezbedne)
43 Strona startowa Visual Studio .NET
44Start Page in Visual Studio .NET.
45 Szablony projektów
- Po wybraniu opcji New Project, otworzy sie okno
New Project, zawierajace szablony projektów.
Windows Application
46 Szablony projektów
- Najwaznieksze szablony projektów dostepne w
Visual Studio.NET sa nastepujace - Windows Application - szablon standardowego
programu typu EXE, komunikujacego sie z
uzytkownikiem za pomoca interfejsu graficznego, - Class Library - biblioteka klas zawierajaca pliki
DLL, - Windows Control Library - szablon programu typu
OCX, pozwalajacy tworzyc kontrolkiX, - ASP .NET Web Application - szablon programu typu
DLL, pozwalajacy tworzyc programy uruchamiane w
przegladarkach internetowych zdalnych
uzytkowników.
47 Szablony projektów
- WebApplication ASP .NET programowana z
wykorzystaniem Visual Basic .NET
48 Szablony projektów
- Console Application - szablon programu typu EXE,
dzialajacego w wierszu polecenia systemu Windows, - Windows Service - szablon programu typu EXE,
uruchamianego jako usluga systemu Windows. - W celu utworzenia nowego projektu nalezy wybrac
jego typ, a nastepnie szablon oraz podac nazwe i
okreslic (lub zaakceptowac domyslna) lokalizacje
projektu. - Okno nowo utworzonego projektu ma podobna postac
zarówno dla Windows Application jak i dla Web
Application i zawiera okienka - Solution Explorer umozliwiajace zarzadzanie
plikami, - Properties umozliwiajace ustawienie wlasnosci.
49Design view of Visual Studio .NET.
50- Projekt, pliki i dokument
51(No Transcript)
52IDE toolbar.
- Toolbar
- Contains icons that represent commonly used
commands - Down arrow indicates additional commands
53Tool-tip demonstration.
- Tool tip
- Appears when mouse pointer held over icon
- Displays description of icon
54Toolbar icons for three Visual Studio .NET IDE
windows.
- Toolbar icons
- Contains commands for opening
- Solution Explorer window
- Properties window
- Toolbox
55Toolbox displaying the contents of the Windows
Forms tab.
56Properties window displaying a Forms properties.
57- Solution Explorer
- Klikniecie na któryms elemencie w Solution
Explorer powoduje pojawienie sie okna Properties
pokazujace szczególowe informacje o elemencie.
58Displaying a hidden window with Auto Hide
enabled.
59Hiding the Toolbox by moving the mouse pointer
outside of Toolboxs area.
60 Solution Explorer
- Po rozwinieciu w oknie Solution Explorer folderu
References, mozna zobaczyc liste automatycznie
ustawionych przestrzeni nazw. - Projekt typu Windows Application zawiera domyslny
formularz Form1.vb, natomiast projekt typu Web
Application zawiera domyslny formularz
WebForm.aspx - Po kliknieciu w oknie Solution Explorer prawym
klawiszem formularza mozna z menu kontekstowego
wybrac View Code (okienko edytora kodu) lub View
Designer (projekt formularza).
61 Atrybuty projektu
- Lista atrybutów projektu jest podzielona na dwie
grupy - Common Properties
- Configuration Properties
- W sekcji General obu typów atrybutów mozna
okreslic nazwe programu i obiekt startowy. - Typ programu mozna zmieniac w ograniczonym
zakresie nie mozna zmienic programu tworzonego
przy pomocy szablonu Windows Application na
program typu Web Application. - Otwierajac projekt nalezy wskazac plik z
rozszerzeniem .sln
62 Dodawanie kontrolek
- Okno Toolbox zawiera wiele zakladek (np.. Web
Forms, Data, HTML) - Kazda zakladka rozwija sie po kliknieciu,
- Zakladki zawieraja kontrolki takie jak Label
(etykieta), Text Box (pole tekstowe), itp. - Kontrolki przeciagamy na dokument, a nastepnie
bedziemy mogli zmieniac ich wlasciwosci.
63 Kontrolki Data
- Obsluguja wyswietlanie i wysylanie danych z i do
bazy. - Po przeciagnieciu usta-wiamy ich wlasciwosci w
oknie Properties - Solution Explorer zawiera kontekstowa pomoc w
oknie Dynamic Help
64 Jezyki plarformy .NET
- Jezyki uzywane na platformie .NET musza byc
zgodne ze specyfikacja jezyków CLS (Commin
Language Specyfication). - Rozróznia sie trzy kategorie zgodnosci jezyków
platformy .NET - zgodnosc produkcji - wymienne komponenty jezyka,
- zgodnosc uzytkowania - wymienne klasy,
- rozszerzalnosc, w wyniku dziedziczenia.
- Wszystkie jezyki Visual Studio musza podlegac
konwersji przy przenoszeniu na platforme .NET ze
wzgledu na pewne róznice skladniowe.
65 Srodowisko CLR
- Srodowisko uruchomieniowe CLR (Common Language
Runtime) odpowiada za zarzadzanie i wykonanie
kodu skompilowanego do platformy .NET. Umozliwia
ono - plynna integracje kodów napisanych w róznych
jezykach, - zadeklarowanie odpowiedniego poziomu
bezpieczenstwa dla kodu zarzadzalnego,
sterujacego zezwoleniami, - obsluge kilku wersji równoczesnie oraz wdrazania,
- profilowanie i testowanie kodu zarzadzalnego,
- automatyczne zarzadzanie pamiecia,
- kompilacje kodu zarzadzalnego na kod posredni IL,
a nastepnie na kod wykonywalny. - CRL moze byc przeniesione na inne platformy
sprzetowe i do innych systemów operacyjnych.
66Struktura aplikacji .NET
- Aplikacja .NET sklada sie z trzech podstawowych
elementów
Zlozenie
Manifest
Modul
Metadata
Jezyk posredni IL
TYP metody, wlasciwosci, pola
TYP metody, wlasciwosci, pola
67 Struktura aplikacji .NET
- Zlozenie (assembly) - jest to podstawowa
jednostka wdrozeniowa kodu zarzadzalnego. Sklada
sie ono z - manifestu - zawierajacego
- informacje o tozsamosci zlozenia (nazwa, nr.
wersji, klucz publiczny), - deklaratywne zadania potwierdzenia bezpieczenstwa
(wymagane, opcjonalne i odrzucone), - liste powiazanych zlozen,
- liste innych uzywanych typów i zasobów.
- Manifest przechowywany jest w oddzielnym pliku
lub w jednym z modulów - jednego lub kilku modulów.
68 Struktura aplikacji .NET
- Moduly - sa to pliki DLL lub EXE Windows PE
(Portable Executable). Modul zawiera - kod jezyka posredniego IL,
- metadane powiazane z kodem IL, dostarczajace
informacji na temat typów deklarowanych w IL, - manifest zlozenia.
- Typy - sa to szablony uzywane do opisu
hermetyzacji danych oraz powiazanego zbioru
zachowan. Zakres typów jest ustawiany na poziomie
zlozen. - Platforma .NET wprowadza wspólny system typów CTS
- Typ ma wlasciwosci, metody oraz pola, stanowiace
dane elementów w obrebie typu.
69 Struktura aplikacji .NET
- Metadane - sa to informacje pozwalajace
komponentom na samoopisanie sie. - Okreslaja one takie aspekty komponentu jak klasy,
metody, pola oraz samo zlozenie. - W srodowisku CRL metadane pozwalaja na analize i
weryfikacje zlozenia przed jego uruchomieniem
oraz na porzadkowanie pamieci podczas wykonywania
kodu zarzadzalnego i innych procesów. - W modelach COM/COM metadane przechowywane sa
oddzielnie od czesci wykonywanej aplikacji,
natomiast metadane opisujace komponent .NET sa
przechowywane w zawierajacym go pliku, co
umozliwia wykorzystanie komponentów bezposrednio
po skopiowaniu do systemu, bez dodatkowej
rejestracji.
70 Struktura aplikacji .NET
- Dostep do wszystkich metadanych powiazanych z
kodem zarzadzalnym jest mozliwy dzieki
interfejsowi Reflection API. - Interfejs Reflection API pozwala analizowac
metadane powiazane z biezaco wykonywanym
zlozeniem. - Dostep do metadanych powiazanych z typem
uzyskujemy za pomoca obiektu Type, zwracanege
przez metode GetType znajdujaca sie w
System.Object. - Metoda Type.Method umozliwia nawigacje w góre
hierarchii obiektów. - Dostep do metadanych powiazanych z poszczególnymi
polami, wlasciwosciami oraz metodami umozliwiaja
metody Type.GetFields, Type.GetMethods oraz
Type.GetProperties.
71 Wspólny system typów CTS
- Wspólny system typów CTS umozliwia kazdemu
jezykowi programowania korzystanie z podstawowego
systemu typów oraz mechanizmów rozszerzania tych
typów. - Rozrózniamy dwa rodzaje typów CTS
- typy refernecyjne, bedace odpowiednikami klas,
- typy wartosci odpowiadajace strukturom.
- Kazdy typ obslugiwany przez CTS jest wyprowadzany
z przestrzeni nazw System.Object i obsluguje
nastepujace metody - Boolean Equals (Object) - sprawdza równowaznosc z
innym obiektem
72 Wspólny system typów CTS
- Int32 GetHashCode ( ) - generuje liczbe
odpowiadajaca wartosci obiektu, - Type GetType - pozwala uzyc obiektu Type w celu
uzyskania dostepu do metadanych powiazanych z
typem, - StringToString - domyslnie, zwraca pelna nazwe
klasy obiektu. - Podstawowe typy wartosci (tzw. typy proste -
primitive types) obslugiwane na platformie .NET
dostepne sa w glównej przestrzeni nazw System. Sa
to - Boolean - typ logiczny,
- Byte - jeden bajt bez znaku (0 - 255),
- Sbyte - 8-mio bitowa wartosc liczby calkowitej ze
znakiem (-128 do 127),
73 Wspólny system typów CTS
- GUID - unifikatowy identyfikator (128 bitowa
liczba calkowita), - Int16, Int32, Int64 - odpowiednio 16-, 32,
64-bitowa wartosc liczby calkowitej ze znakiem, - Decimal - 28 cyfr znaczacych ze znakiem
- Double - 64-bitowa liczba zmiennoprzecinkowa ze
znakiem, - Single - 4-bajtowa liczba zmiennoprzecinkowa ze
znakiem, - DateTime - wartosc daty i czasu,
- TimeSpan - czas ze znakiem,
- Char - wartosc znaku Unicode.
74 Wspólny system typów CTS
- Przestrzen nazw System.XML zawiera typy potrzebne
do tworzenia dokumentów XML. - Przynaleznosc typu do kategorii typów wartosci
lub typów referencyjnych zalezy od sposobu
traktowania jego instancji przez srodowisko CRL - instancje typów wartosci sa tworzone na stosie
dwie zmienne typu wartosci sa sobie równe, jesli
ich stany sa równe - instancje typów referencyjnych sa tworzone na
stercie zarzadzalnej - sa one inicjalizowane
wartoscia NULL. Dwie zmienne typu referencyjnego
sa sobie równe, jesli obie stanowia odwolanie do
tego samego obiektu.
75 Tworzenie wlasnych typów
- Definiowanie typów referencyjnych na platformie
.NET polega na deklarowaniu klas. - Instancje obiektów typów referencyjnych tworzymy
przy pomocy operatora new i inicjalizujemy za
pomoca konstruktora lub w instrukcji przypisania. - Definiowanie typów wartosci na platformie .NET
polega na deklarowaniu struktur. - Wszystkie typy wartosci sa pochodna metody
System. ValueType, która przeslania metody
Object.Equals oraz Object.GetHashCode. - Modyfikowanie i dostep do danych hermetyzowanych
przez instancje typu wartosci jest mozliwe tylko
przez odpowiadajaca im zmienna.
76 Pakowanie typów wartosci
- Pakowanie typów wartosci (boxing) ma miejsce gdy
instancja typu wartosci jest to konwertowana na
instancje typu referencyjnego, natomiast
odpakowanie typów wartosci ( unboxing) jest
procesem odwrotnym. - Pakowanie typów wartosci moze byc formalne i
nieformalne. - Formalne pakowanie instancji typów wartosci
stosujemy, gdy zachodzi koniecznosc przekazania
jej do metod wymagajacych typu referencyjnego.
77 Atrybuty
- Atrybuty sluza do okreslania dodatkowych
informacji o takich elementach jak zlozenia,
klasy, metody oraz wlasciwosci. Moga one - miec znaczenie czysto informacyjne,
- byc wykorzystane do zazadania okreslonego
zachowania podczas wykonywania programu, - do wywolania okreslonego zachowania innej
aplikacji. - Na platformie .NET mozna tworzyc wlasne atrybuty
metadanych opisujacych komponenty. - Atrybuty moga byc stosowane do metod i do klas.
- Przy tworzeniu atrybutu nalezy zdefiniowac klase
atrybutu, bedaca pochodna klasy System.Attribute,
która nie powinna byc rozszerzalna i musi miec
przynajmniej jeden konstruktor.
78 Dane zarzadzalne
- Jedna z najwazniejszych mozliwosci srodowiska CLR
jest zarzadzanie danymi aplikacji, alokowanymi na
stercie zarzadzalnej. - Sterta zarzadzalna jest to obszar pamieci
alokowany i zarzadzany przez srodowisko CLR, w
której umieszczane sa wszystkie obiekty
zarzadzalne, a zwlaszcza typy referencyjne. - CRL nadzoruje dostep do tych obiektów, zachowujac
bezpieczenstwo typów. - Sterta zarzadzalna cechuje sie wydajna alokacja
pamieci, lokujac pamiec dla kolejnych obiektów
dokladnie nad ostatnio przydzielonym fragmentem
pamieci, do którego sterta zarzadzalna utrzymuje
odwolania.
79 Dane zarzadzalne
- Obiekty, do których nie ma juz odwolan sa usuwane
przez automatyczny odsmiecacz, który jednoczesnie
przesuwa pozostawione obiekty w dól sterty
zarzadzalnej, wypelniajac luki po obiektach
usuwanych. - Pozwala to na eliminacje fragmentacji pamieci
oraz aktualizacje odwolan do ostatniej alokacji
na stercie. - Odsmiecacz moze byc uruchamiany automatycznie
przez srodowisko CLR lub z aplikacji poleceniem
GC.Collect, - Odsmiecacz umozliwia likwidacje przecieków
pamieci. - Przeciek pamieci nastepuje wtedy, gdy pamiec
alokowana przez aplikacje jest zablokowana mimo,
ze aplikacja przestaje ja uzywac.
80 Dane zarzadzalne
- Przecieki w kodzie niezarzadzalnym wystepuja gdy
- aplikacja napisana w C lokuje na stercie
zarzadzalnej pamiec zwiazana z obiektem,
natomiast odsmiecacz zbiera tylko obiekty do
których nie ma juz odwolan w aplikacji, - dwa obiekty COM zawieraja odwolania cykliczne (A
do B, a B do A). - Automatyczny odsmiecacz bezposrednio przed
usunieciem obiektu wywoluje metode
Object.Finalize, która powinna zawierac wszystkie
czynnosci zwiazane z porzadkowaniem pamieci. - Uruchomienie automatycznego odsmiecacza nastepuje
dopiero wtedy, gdy brakuje wolnej pamieci.
81 Dane zarzadzalne
- Niezbedne porzadkowanie pamieci nalezy
przeprowadzac w metodzie Finalize, której sciezka
kodu powinna byc mozliwie jak najkrótsza. - Metoda Finalize nie powinna byc traktowana przez
programiste jako destruktor obiektów, a jedynie
uzywana wtedy gdy brakuje pamieci. - Implementujac metode Finalize nalezy
zaimplementowac metode Dispose lub Close, która
moze byc wywolana przez klienta, gdy obiekt
przestaje byc uzywany. - Metoda Finalize nie powinna wywolywac metod dla
innych obiektów, do których odwoluje sie zbierany
obiekt. - Kolejnosc zbierania obiektów na stercie
zarzadzalnej przez automatyczny odsmiecacz jest
nieokreslona.