Extras din curs
1. Platforma NET şi limbajul C#
Limbajul C# a fost lansat în iulie 2000 odată cu lansarea platformei NET. Platforma NET orientează cercetarea Microsoft spre 4 grupe de produse:
a) Un cadru de dezvoltare a aplicaţiilor atât cele clasice windows cât şi a aplicaţiilor web denumit NET Framework.
b) Un set se servere denumit NET Enterprise Servers, care trebuie să asigure funcţionalitatea necesară pentru bazele de date relaţionale, email, B2B comerţ.
c) Un set de servicii comerciale denumit NET Mz Services care să ofere componente de WEB.
d) Cadrul de dezvltare de aplicaţii cu dispozitive inteligente nonPC denumit NET Compact Framework se i-au în vedere telefoane inteligente, dispozitive pentru jocuri, etc.
Motivaţia Microsoft pentru lansarea platformei se găseşte în direcţiile pe care este orientată astăzi industria software; În principal este vorba despre următoarele direcţii: aplicaţiile distribuite în internet ,realizarea de componente integrabile în aplicaţii, construirea de aplicaţii web care cer un înalt grad de programare şi respectiv factori de performanţă cum ar fi scalabilitatea şi disponibilitatea aplicaţiilor, interoperabilitatea limbajelor, etc.
2. Cadrul de dezvoltare NET Framework
2.1 Limbaje NET
Limbaje NET
- Clase pentru aplicaţii
Framework (windows Forms, Web Forms, Web Services)
- Clase pentru date
Classes (ADO.NET, SQL.NET, etc)
Librarz(FCL) - clase de bază pentru dezvoltare
Common Language Runtime (CLR) Visual Studio NET
Cadrul de dezvolrare presupune un nr de limbaje, iniţial au fost 4 şi anume C#, Managed C++, VB, Jscript, actualmente 12 limbaje. Aceste limbaje pot să interopereze, înţelegând prin acesta posibilitatea integrărilor în aplicaţii prin părţi de cod scrise în diferite limbaje dar care să folosească din plin încapsularea, moştenirea şi polimorfiemul.
Integrarea limbajelor este asigurată pe baza unor tipuri comune de date şi prin specificaţii comune de limbaj, în felul acesta s-a introdus categoria de limbaje NET adică acele limbaje care se conformează tipurilor de date şi specificaţiilor de limbaj.
Microsoft a propus un limbaj intermediar numit MSIL(IL) definit prin specificaţiile de limbaj denumite Common Language Specification(CLS), în felul acesta indiferent de limbajul în care este scrisă o parte din aplicaţie ea se traduce în limbaj intermediar (IL) asigurând astfel părţi compatibile unele cu altele indiferent de limbajul iniţial. Compilatoarele de limbaj au fost modificate astfel încât să se conformeze CLS-ului în traducerea programelor. Programul rezultat de pe urma acestei compilări poartă denumirea de program portabil executabil (PE) şi el este independent de maşină şi sistemul de operare. Programul PE nu poate să fie direct executat nefiind în cod nativ, pentru execuţie este nevoie de o altă componentă denumitp CLR sua maşină virtuală.
2.2 Common Language Runtime (CLR)
CLR este mediul de execuţie al programelor PE. CLR este un sistem care este responsabil cu instanţierea obiectelor, cu verificările de securitate, cu gestiunea memoriei dinamice, cu execuţia metodelor obiectelor. Pentru execuţie CLR-ul apelează la ajutorul unor compilatoare denumit JIT (Just In Time). Un compilator JIT este specific unei anumite platforme şi el ştie să traducă codul PE în cod nativ, care apoi este executat. Denumirea de compilator JIT provine din modul în care se fac compilarea şi anume compilare funcţie cu funcţie, fiecare funcţie este compilată o dată numai la momentul primei sale apelări. Funcţia compilată este depusă într-o memorie cache de unde este reutilizată.
În procesul execuţiei CLR face uz de un sistem de gestiune al memoriei dinamice denumit Garbage Collector.
Din punctul de vedere al programatorului execuţia programelor este transparentă adică programatorul construieşte programul, cere compilarea iar apoi execuţia,ca pentru programele clasice.
2.3 Bilioteca de clase (FCL)
. NET Framework posedă o bibliotecă de peste 400 de clase, ele sunt optimizate într-o ierarhie de clase care are ca rădăcină o clasă denumită Object. Clasele ierarhiei sunt specializate pentru destinaţii sau funcţionalitate. Clasele de bază care reprezintă nivelul cel mai de jos sunt fundamentele pentru operaţiile de I/O pentru manipularea de stringuri, pentru organizarea de colecţii de obiecte pentru fire de execuţie, etc.
Clasele pentru date sunt cele legate de realizarea conexiunii la bazele de date relaţionale şi comunicarea cu serverele corespunzătoare, principala componentă este ADO NET. Nivelul superior este cel pentru clasele cu care se dezvoltă aplicaţiile, toate aplicaţiile importante se bazează pe formulare de unde şi denumirea corespunzătoare.
Datorită numărului mare de denumiri pentru care le presupune biblioteca FCL a fost nevoie de gruparea lor prin intermediul spaţiilor de nume (name_spaces).
Spaţiile de nume sunt identificabile printr-un nume propriu şi ele conţin listele de denumiri de clase care aparţin acelui spaţiu. Un spaţiu poate să fie subdivizat în subspaţii pentru o gestiune mai uşoară a denumirilor sau numelor.
Pentru bibliotecă spaţiul fundamental este denumit System, el are subdiviziuni cum ar fi de exemplu subspaţiul Collection, Szstem.Windows.Forms;
2.4 Visual Studio NET
În mod standard Visual Studio NET face parte din NET Framnework dar nu este obligatoriu să fie utilizat, visual studio ajută programatorul să organizeze o aplicaţie sub formă de proiect, să producă cod pe baza utilizării unor programe de asistenţă(designer) care îl ajută de la momentul iniţial de definire al proiectului până la mamentul execuţie aplicaţiei şi terminând cu pregătirea aplicaţiei pentru distribuire.
Preview document
Conținut arhivă zip
- Limbaje Moderne de Programare
- Lb Moderne de Progr - Curs 1.doc
- Lb Moderne de Progr - Curs 2.doc
- Lb Moderne de Progr - Curs 3.doc
- Lb Moderne de Progr - Curs 4.doc