Adnotare: .Net brand. Visual Studio .Net este un mediu de dezvoltare deschis. Cadrul cadru .Net. Biblioteca de clasă FCL este o componentă statică a cadrului. Modul de rulare în limbaj comun CLR este componenta dinamică a cadrului. Gestionat codul. Specificațiile comune ale limbii CLS și modulele compatibile.
Fără a încerca să acoperiți toate varietățile de interacțiune în rețea, să luăm în considerare implementarea de noi idei utilizând Visual Studio .Net, un produs important pentru dezvoltatori.
Visual Studio .Net este un mediu de dezvoltare deschis
Mediul de dezvoltare Visual Studio .Net este deja un produs software testat în timp. care este cea de-a șaptea versiune a studioului. Dar noutățile acestei versiuni sunt legate de idee. Net. ne permit să o considerăm o dezvoltare fundamentală, definind o nouă etapă în crearea de produse software. Voi sublinia două idei importante, în opinia mea:
- deschiderea spre limbile de programare;
- o abordare fundamentală nouă pentru crearea unui cadru-cadru - .Net-cadru.
sinceritate
Mediul de dezvoltare este acum un mediu lingvistic deschis. Aceasta înseamnă că, împreună cu limbile de programare incluse în mediu de către Microsoft - Visual C ++ .Net (cu extensii gestionate), Visual C # .Net. J # .Net. Visual Basic .Net. - Orice limbaj de programare poate fi adăugat la mediul înconjurător, compilatorii cărora sunt creați de alți producători. Visual Studio a făcut deja o mulțime de astfel de extensii, există practic pentru toate limbile cunoscute - Fortran și Cobol. RPG și Component Pascal. Oberon și SmallTalk. Am inclus pe calculatorul meu pe calculatorul meu compilatorul uneia dintre cele mai bune limbi de obiect - limba Eiffel.
Deschiderea mediului nu înseamnă libertate totală. Toți dezvoltatorii de compilatoare trebuie să respecte anumite restricții atunci când includ o nouă limbă în mediul de dezvoltare. Limitarea principală, care poate fi considerată principalul avantaj, este că toate limbile incluse în mediul de dezvoltare Visual Studio .Net. Ar trebui să utilizeze un cadru unic - Framework .Net. Datorită acestui fapt, se obțin multe proprietăți dorite: ușurința utilizării componentelor dezvoltate în diferite limbi; capacitatea de a dezvolta mai multe părți ale unei aplicații în diferite limbi; posibilitatea unei depanare fără întrerupere a unei astfel de cereri; abilitatea de a scrie o clasă într-o limbă și descendenții acesteia în alte limbi. Un cadru unic duce la o convergență a limbajelor de programare, păstrând, în același timp, individualitatea și avantajele pe care le au. Depășirea barierei lingvistice este una dintre cele mai importante sarcini ale lumii moderne. Datorită unui singur cadru, Visual Studio .Net rezolvă într-o anumită măsură această problemă în lumea programatorilor.
Cadrul. Net - un cadru unic pentru mediul de dezvoltare
Există două componente principale în cadrul Framework .Net:
- static - FCL (Library Class Library) - biblioteca de clase ale cadrului;
- dinamic - CLR (Common Language Runtime) - mediu general executiv al limbajului.
Clasa bibliotecilor FCL - componentă cadru statică
Conceptul de aplicații-cadru - aplicații-cadru - a apărut cu mult timp în urmă; cel puțin a fost utilizat pe scară largă în cea de-a patra versiune a Visual Studio. Acum zece ani, când scriam o carte cu Ilmir [V. Billig, I.Kh. Musikaev „Visual C ++, ediția a 4-a. Cartea este pentru programatori“], pentru noi, era încă un concept nou. Am discutat despre rolul bibliotecii MFC clasa (clasele Microsoft Foundation) ca C. Aplicație vizuală schelet În ciuda faptului că acest cadru a fost introdus doar componenta statică a fost evidentă chiar și atunci rolul său în aplicațiile de construcții. Deja la acel moment esențial într-o bibliotecă de clasă MFC am avut clase care definesc arhitectura aplicațiilor de construcție. Atunci când un dezvoltator alege una dintre posibilele tipuri de aplicații, de exemplu, arhitectura documentului-View, atunci aplicarea acestuia va încorpora în mod automat clasa de documente, definirea structurii documentului, și clasa de vedere, definind reprezentarea vizuală. Clasa Forma și clasele care definesc controalele, oferă o interfață unică aplicație. Alegerea tipului de aplicație, dezvoltatorul primi inițial toate funcțiile necesare, sprijinirea claselor cadru. Clasa de sprijin Biblioteca și programatori la clase mai tradiționale care definesc sistemul avansat de tipuri de date, cum ar fi tipurile de date dinamice - liste, arbori, de colectare, șabloane.
În ultimii 10 ani, rolul cadrului în construcția de aplicații a crescut semnificativ - în primul rând datorită apariției componentei sale dinamice, despre care vom vorbi mai târziu. În ceea ce privește componenta statică - biblioteca de clasă, atunci au apărut o serie de inovații importante în zece ani.
Cadru unificat
Cadrul a devenit unul pentru toate limbile de mediu. Prin urmare, în orice limbă sau a fost dezvoltat de programare, se utilizează clasele de aceeași bibliotecă. Multe clase de bibliotecă care alcătuiesc un nucleu comun sunt folosite de toate limbile. Prin urmare, unitatea interfața aplicației, indiferent de limbă nu se dezvoltă, unitatea de lucru cu colecții și alte recipiente de date, unitatea de legare la diferite magazine de date și alte versatilitate.
Tipuri primitive încorporate
O parte importantă a bibliotecii FCL a devenit o clasă care definește tipuri primitive - acele tipuri care sunt considerate a fi construite în limba de programare. Tipurile cadrului acoperă toate tipurile multiple încorporate. care apare în limbile de programare. Tipurile limbajului de programare sunt proiectate pe tipurile de cadre corespunzătoare. Tipul numit în Visual Basic este Integer, iar în C # - int, acesta este proiectat pe același tip de System.Int32 framework. În fiecare limbaj de programare, împreună cu denumirile de limbi "native" pentru tipuri, este permisă utilizarea denumirilor de tip adoptate în cadru. Prin urmare, de fapt, toate limbile din mediul de dezvoltare pot utiliza un singur sistem de tipuri încorporate. care, desigur, facilitează interacțiunea dintre componentele scrise în diferite limbi.
Tipuri structurale
Nu doar simple tipuri încorporate au devenit o parte a bibliotecii. dar și tipuri structurale. Specificarea organizării de linii de date, tablouri, enumerări, structuri (înregistrări). Acest lucru contribuie, de asemenea, la unificarea și convergența reală a limbajelor de programare.
Arhitectura aplicațiilor
Setul de posibile tipuri de aplicații de clădiri arhitecturale sa extins semnificativ. În plus față de aplicațiile tradiționale Windows și console, a devenit posibilă crearea de aplicații Web. O atenție deosebită este acordată posibilității de a crea componente reutilizabile - este permisă construirea de biblioteci de clasă, biblioteci de control și biblioteci de bibliotecă de control Web. Un tip de arhitectură populară este serviciile Web, care au devenit astăzi, datorită standardului deschis, unul dintre principalele tipuri de componente reutilizabile. Pentru limbile C #, J #, Visual Basic, acceptate de Microsoft, este oferit același set de 12 tipuri de aplicații arhitecturale. Oarecum în afară este Visual C ++, care păstrează capacitatea de a lucra nu numai cu biblioteca FCL. dar și cu bibliotecile MFC și ATL și cu construirea unor proiecte MFC și ATL corespunzătoare. Compiliatorii de limbi furnizate de alte companii creează proiecte care îndeplinesc cerințele generale ale mediului, păstrând individualitatea lor. De exemplu, compilatorul Eiffel permite crearea de proiecte care utilizează atât biblioteca FCL. și propria bibliotecă de clasă.
modularitate
Numărul de clase din biblioteca FCL este mare (câteva mii). Prin urmare, era necesară o metodă de structurare a acestora. În mod logic, clasele cu funcționalități similare sunt combinate în grupuri numite spațiu de nume (Namespace). Pentru componenta dinamică CLR, o unitate fizică care unește clase și alte resurse este asamblată.
Spațiul de nume principal al FCL este spațiul Sistem, care conține atât clase, cât și alte spații de nume imbricate. Deci, tipul primitiv menționat deja Int32 este imbricat direct în spațiul de nume al sistemului și numele său complet, inclusiv numele spațiului - System.Int32.
Un număr de alte spații de nume sunt imbricate în cadrul sistemului. De exemplu, în spațiul System.Collections există clase și interfețe care acceptă lucrul cu colecții de obiecte - liste, cozi, dicționare. În spațiul System.Collections. la rândul său, spațiul de nume specializat este închis. Conține clase cu specializare, de exemplu, colecții ale căror elemente sunt doar rânduri. Spațiul System.Windows.Forms conține clasele utilizate la crearea aplicațiilor Windows. Forma de Formă din acest spațiu definește o formă - o fereastră plină cu comenzi, grafică, care oferă interacțiune interactivă cu utilizatorul.
În cursul cursului, vom fi familiarizați cu multe clase care aparțin diferitelor spații de nume ale bibliotecii FCL.