Sunteți pe pagina 1din 30

1 Descrieti ciclu de viata a unei forme Windows.

Evenimentele si metodele unei forme sunt in general lansate in urmtoarea ordine: New(),
Show(), Load. Activated, GotFocus, Closing, Closed, LostFocus, Deactivate, Dispose().

Metoda New geneaz evenimentul Initialize care pregteste aplicaia pentru folosire. In acest
eveniment, variabilele sunt initializate, controalele sunt mutate la pozitia lor i dimensionate la
dimensiunea indicat la design time.

Metoda Show include un load implicit. Dac forma nu este deja incarcat, aplicatia incarca
automat forma in memorie si apoi o afiseaz utilizatorului. Pentru a afisa forma ca i o cutie de
dialog, se poate apela

ShowDialog().

Load: evenimentul load este utilizat pentru a realiza acele actiuni necesare inainte ca forma s fie
afisat i este invocat ori de cte ori forma este incarcat in memorie (ca rezultat al unei comenzi
Load, Show sau o referentiere la un subcontrol neincarcat in memorie al formei)

Activate/Deactivate apar atunci cand utilizatorul se mut intre 2 forme ale aplicaiei. Activate
apare atunci cand forma primete focus doar atunci cand forma este vizibil. Deactivate apare
atunci cnd forma pierde focusul. Deactivate apare dup LostFocus.

Closing este util pentru a identifica modul in care uitlizatorul inchide forma. Apare inainte
Closed. Closed apare inainte de evenimentul Dispose. Specifica actiunile care trebuiesc
executate la inchiderea formei. Poate include cod de validare la nivelul formei sau salvri ale
datelor in fisiere.

Metoda Dispose execut codul de terminare a formei, fiind substitutul destructorului.

4.Ce este o forma web? controale web server de controale html


O forma Web este componenta fundamentala a ASP.Net, fiind o pagin pe care utilizatorul o
vizualizeaza in browser. O aplicaie web in ASP.NET este compus din una sau mai multe forme
web. Forma web este in acelai timp o pagina dinamic care poate accesa resurse de pe server.

O form web este format dintr-o combinaie de cod HTML, cod surs i controale care se
execut pe un server web care ruleaz Microsoft IIS. Formele web afiseaz interfaa grafic prin
generearea codului HTML care este livrat la browser, in timp de codul surs aferent si
controalele ruleaz pe server.

3 Ce inseamna tracing si cum se realizeaza in aplicatiile web.

Tracing inseamna primirea mesajelor informative despre executia unei aplicatii web la Runtime;
aceste mesaje ajuta la diagnosticarea problemei aplicatiei sau la analiza performantei. Trace
statement-urile la nivel de aplicatie sunt afisate in pagini individuale. Pt ca rezultatele sa fie
vizibile, trebuie setata pagina: pageOutput=false in web.config. Cand se permite accesul
tracingului la nivel aplicatie, setarile la nivel pagina raman in efect. Astfel:

-daca la niv pagina trace=true si la niv aplicatie trace=true sau trace=false, rezultatele sunt
afisate in pag -daca la niv pagina trace=false si la niv aplicatie trace=true sau trace=false,
rezultatele nu sunt afisate in pag

-daca la niv pagina trace nu este setat si la niv aplicatie trace=true, rezultatele sunt afisate in pag

Adaugare:

Informatia logat de aplicaie (trace-urile aplicaiei) pot fi afisate in browser: tracing

Se furnizeaz informaie despre evolutia site, cine a accesat siteul, rezultatele cererilor,
cum arat cererile / raspunsurile HTTP

Pentru a activa tracing: web.config la nivelul intregului website


4 Cum se realizeaza managementul starii partea de server intr-o aplicatie web

Managementul starii pe partea de server foloseste resursele serverului pentru a stoca informatii
despre stare. Aceste optiuni au un nivel mai mare de siguranta decat cele pe partea de client.
Starea aplicatiei este un mechanism de stocare gobal, care este accesibil din toate paginile
aplicatiei si este util pentru stocarea informatiilor legate de utilizator, care trebuie mentinute intre
server si intre pagnile aplicatiei.

5. Gestionarea elementului de stare pe partea de server

ASP.NET ofera 2 cai de a stoca starea pe server:

Starea aplicatiei
Informatia e global ape aplicatie si este valabila tuturor utilizatorilor fara sa conteze identitiatea
user-ului.
Foloseste resursere serverului pentru a stoca informatii despre stare

Starea sesiunii
Este valabila strict pt utilizator care viziteaza siteul
Aceasta stare este salvata pe server
Fiecare vizitator ar site-ului va avea propria sesiune salvata pe memoria serverlui

GATA!!!!!

5 Cum se acceseaza un serviciu web si ce protocoale sunt folosite si comunicarea cu acestea


Serviciul web se acceseaza urmand pasii urmatori:
Se genereaza proxyul, prin adaugarea unei referinte la serviciul web in proiect(Add web
reference), sau prin rularea WSDL.exe

Se instantiaza proxy
Se apeleaza met serviciului web prin proxyul instantiat.

Serviciile web XML utilizeaz SOAP ca i protocol pentru transmiterea de mesajele de reea.
SOAP este un protocol bazat pe XML, facilitnd schimbul de informatii n medii descentralizate
i distribuite. Folosind SOAP-ul ca protocol de transmisire, mesajele pot transmite date prin
referine i pot conine structuri complexe cum ar fi obiecte, structuri i seturi de date.

WSDL este o gramatic XML folosit pentru descrierea serviciului Web in sensul mesajelor care
sunt acceptate i generate de serviciu. WSDL se comport ca un contract intre consumatorul de
serviciu web si furnizor. Descrierea serviciului web este folosit de .NET Framework cnd se
adaug o referin la un serviciu n aplicaia client.
1.Filozofia .net cu limbajele de programare

.Net Framework furnizeaz suport pentru mai multe limbaje de programare. C# a fost proiectat
special pentru .NET Framework. Este primul limbaj orientat pe componente din familia C i C+
+. Poate fi inglobat in paginile ASP.NET. Facilitti importante sunt clasele, interfetele, delegates,
boxing si unboxing, spatiile de nume, propriettile, indexerele, gestiunea versiunilor, etc. Se
elimina fisierele header si IDL.

C++ managed este o extensie minimal a C++ pentru a furniza acces la toate facilittile .NET

Framework, incluznd aici garbage-collectorul, mostenirea simpl i multipl i ofer de


asemenea access la nivel jos ori de cte ori este necesar.

Visual Basic include inovatii multe fat de versiunea anterioar oferind suport pentru mostenire,
constructori, polimorfism, exceptii structurate, verfiicarea strict a tipurilor, fire de execuie si
altele.

Jscrip.NET este rescris total pentru suport .NET. Furnizeaz suport la clase, mostenire, tipuri,
compilare si facilitti pentru performant sportit si productivitate.

Visual J#.NET este o unealt de dezvoltare pentru programatorii Java fiind total compatibil cu
.NET.

.NET suport si alte limbaje tere precum APL, COBOL, PASCAL, EIFFEL, Haskell, Oberon,
Perl, Python, Scheme, Smalltalk.

2.Delegate+handler de evenimente

In .NET Framework un eveniment este folosit pentru a semnala apariia unei aciuni. Un
eveniment poate fi generat si in mod programatic, de exemplu la finele unei proceduri care
realizeaz un calcul lung. Obiectul care lanseaz evenimentul este referit ca si trimittorul
evenimentului. Procedura care trateaz evenimentul este referit ca i receptorul evenimentului.
Trimittorul evenimentului nu stie ce obiect sau metod va recepiona evenimentul. Deci, este
nevoie de o component care s lege trimittorul evenimentului de receptor. .NET Framework
foloseste tipul Delegate care s funcioneze ca i un pointer intre trimittor i receptor. Obiectele
de tip Delegate sunt utilizate pentru a apela metode ale altor obiecte. Aceste obiecte sunt
necesare atunci cand avem nevoie de un intermediar intre procedura care apeleaz si cea apelat.
Folosirea delegates este util atunci cnd aplicaia trebuie s fac o actiune prin apelul unei
metode dar nu se cunoaste care e acea actiune. Delegates permite specificarea actiunii care se va
invoca la runtime.

3.diferente forma web de forma windows

Formele Windows difer de formele Web in ceea ce priveste urmtoarele criterii:

Instalarea: la formele windows aplicaiile sunt download-ate, instalate i ruleaz direct pe


calculatorul utilizatorilor. La formele Web, nu exist operatia de instalare la client, clientul
ruleaz aplicaia din browser.

Timpul de rspuns al aplicaiei: Formele Windows ruleaz direct la client deci pot s ofere cel
mai rapid timp de rspuns posibil. La formele Web ins, de cele mai multe ori rspusurile
necesit o vizit la server pentru diverse procesri, de astfel, timpul de rspuns este mai mare. -
Plaforma pe care ruleaz: Windows Forms necesit ca pe calculatorul unde se execut s fie
instalat .NET Framework. Web Forms necesit doar un browser (de exemplu Internet Explorer).
Serverul Web trebuie s aib instalat i s suporte .NET Framework.

Grafica: Formele Window includ GDI+ care permit realizarea de grafic sofisticat pentru
crearea de jocuri, sau alte aplicaii bogate in grafic. Formele Web pentru a genera o grafic
interactiv sau dinamic necesit vizite repetate la serverul web pentru improsptarea
continutului afisat pe browser. GDI+ poate fi folosit pentru a crea o grafic customizabil

Modelul de programare: Windows Forms sunt bazate pe un model de programare la client, cu


pompare de mesaje, in care instanele componentelor sunt create, utilizate i disponibilizate de
ctre programator. Web Forms se bazeaz pe un model de programare in mare pare asincron i
deconectat. Componentele aplicaiei sunt de obicei invocate prin HTTP. Acest model de
programare poate s nu fie potrivit pentru aplicaii care necesit grad ridicat de responsivitate
sau un volum ridicat de tranzacii, sau aplicaii pe baze de date care necesit un grad ridicat de
concuren .

Securitatea: Windows Forms utilizeaz permisiuni granulare la controlul accesului la


implementrile de cod. Aceasta permite o expunere ingrijit a functionalitii cu mentinerea unui
nivel de securitate corespunztor. Web Forms permite controlul identitii sub care codul server
este executat. Aplicaiile pot
executa codul folosind identitatea entittii care lanseaz cererea (impersonation) sau pot sa
livreze continut dinamic pe baza rolului entittii solicitante.

5.Localizare servicii web

Localizarea serviciilor web este importanta in comunicarea furnizor client. Descoperirea


locaiei unui serviciu Web se poate face static sau dinamic. Descoperirea statica este posibila
atunci cand locatia documentului de descoperire este deja cunoscuta. Descoperirea statica
implica furnizarea unui URL explicit si interpretarea continutului acestuia. Descoperirea
dinamica are loc cand consumatorul cunoaste doar punctual terminal a furnizorului de serviciu.
In aceasta situatie el va descoperi o lista cu servicii web disponibile si contractele WSDL
asociate, la punctul terminal.

8.cookie si cookieless

Cookie-urile sunt modalitati prin care aplicatiile web care ruleaza pe server pot sa il determine
pe utilizator sa retina inf serverului web, la fiecare cerere HTTP. Informatiile retinute la pot fi
utilizate pt mentinerea starii cu clientul, peste multiple cereri. Cookie-urile sunt trimise clientului
ca parte din headerul HTTP in raspunsul clientului sau sunt trimise in raspunsul serverului.
Cookie-urile pot fi dezactivate. Daca nu se mai folosesc cookies in browserul utilizatorului,
fiecare cerere facuta de utilizator incepe o noua sesiune. Fiecare sesiune care a fost asociata cu
utilizatorul respectiv este pierduta cand se cere o pagina noua.

9. Diferenta intre cookie, session si cache

Cookie
Rezista si dup ace browserul e inchis
Se foloseste ca sa se faca track la sesiune utilizatorului
Sesiunea
Schimb de informatii semipermanent intre doua sau mai multe dispositive
Incepe intr-un moment bine definit si este oprit intr-un moment bine definit
Unul dintre utilizatori trebuie sa salveze sesiune pentru a ramane in istoric

Cache
O arie temporara de stocare unde datele utilizate frecvent se pot salva pentru un acces mai rapid.

10.Tipuri de controale utilizator

Controalele utilizator apar in Toolbox i pot fi clasificate dup funcionalitatea pe care acestea o
ofer. Astfel avem:
Controale de grupare, de tip container: Panel, GroupBox, TabControl,

Controale pentru afisarea de text: Textbox RichTextbox, Label sau StatusBar

Controale cu optiuni: CheckedListbox, ComboBox, DomainUpDown, ListBox, ListView,


NumericUpDown, TreeView

Controale pentru afisare de grafic: ImageList, PictureBox,


Meniuri: MainMenu, ContextMenu

Cutii de dialog: ColorDialog, FontDialog, PageSetupDialog, PrintDialog, OpenFileDialog,

Controale care accepta input de la utilizator: Button, LinkLabel, NotifyIcon, ToolBar

5. executors
Executors este un obiect intermediar intre un client si taskurile pe care acesta le executa.
Executors gestioneaza ciclul de viata a taskurilor asincrone fara sa fie nevoie sa gestionam
explicit ciclul de viata a unui obiect Thread

6. sectiuni critice
Sectiunile critice sunt zonele de cod unde poate sa apara coliziunea intre threaduri. Avem nevoie
de sectiuni critice daca partea critica este o bucata de cod dintr-o metoda (spre deosebire de
intreaga metoda). Sectiunea critica poate sa fie marcata de cuvantul cheie
synchronized(obiect)Monitorul se achizitioneaza pt obiectul specificat. Daca se sincronizeaza
doar pe sectiuni critice (si nu pe toata metoda) se poate castiga timp pretios la executia
programului. Pt sectiuni critice se pot folosi si obiecte de tip Lock. La sincronizare pe sectiuni
critice, trebuie sa se utilizeze acelasi obiect ca si tinta a sincronizarii

7 descrieti common language runtime ( CLR )

Common Language Runtime CLR este un mediu de executie care furnizeaz un set comun de
servicii pentru proiectele dezvoltate in mediul .NET Framework, indiferent de limbajul de
programare in care aceste programe sunt scrise. Componenetele acestui mediu de execuie sunt:
Class loader-ul, Microsoft Intermediate Language to native compiler (MSIL), managerul de cod,
garbage-colectorul, motorul de securitate, motorul de debug, verificatorul de tipuri, managerul
de exceptii, suportul pentru fire de execuie, marshalerul COM, suport pentru biblioteca de clase
de baz.

5.CLR

Mediul de executie a programelor in .NET Framework

Mediu robust si securizat

Gestioneaza executia programelor

Simplifica procesul de dezvoltare software

Furnizeaza servicii comune pentru programele executate:

Managementul memoriei

Gestiunea tranzactiilor

Comunicarea intre procese, multithreading

Si altele

Permite scrierea programelor in mai multe limbaje de programare echivalente


Visual Studio 2010 furnizeaz compilatoare pentru C#, C++, Visual Basic si F#

Modelul de compilare in 2 faze:

Codul surs este compilar intr-un limbaj intermediar MSIL

Codul MSIL este executat de ctre CLR

8 ce este un control custom si cum cream un astfel de control

Controlul custom este un control creat nou. Controalele custom afiseaz interfaa grafic prin
apel la un obiect de tip Graphics (din GDI+) in metoda de tratare a evenimentului OnPaint.
Controalele custom sunt derivate direct din clasa Control care furnizeaz un dreptunghi gol care
poate fi desenat. Pentru realizarea desenelor noului control trebuie rescris metoda de tratare a
evenimentului OnPaint a controlului. De asemenea, intr-un control custom se pot suprascrie
proprieti, metode i evenimente ale clasei Control. Clasa Control furnizeaz handlerele pentru
fereastr, gestioneaz rutarea mesajelor i furnizeaz evenimente de mouse si tastatur ca i alte
evenimente produse intr-o interfa grafic.

9 care este modelul prin care se valideaza inputul utilizatorului in aplicatiile web

Validarea inputului utilizatorului se face prin validare pe parte de client si validare pe parte de
server. Prima data se face validarea pe parte de client. Aceasta este dependent de versiunea
browserului, ofera raspuns imediat si reduce ciclurile postback. Validarea pe parte de server
repeta toate validarile facute la client si poate valida impotriva informatiilor stocate.

10 ce este un Data Set? care este diferenta dintre tip si untip?

Dataset este o copie locala a bazei de date de pe sursa de date in memoria aplicatiei. Este utila
pentru ca furnizeaza o referinta la aceste date locale. Seturile de date pot fi cu tip sau fr tip.
Seturile de date cu tip sunt clase generate din fiiere de schem XML (.xsd). n comparaie, un
set de date fr tip nu are o schem nglobat corespunz tor. Setul de date cu tip este o clas
derivat din clasa de baz DataSet. Aceasta motenete toate metodele, evenimentele i
proprietile setului de date, furnizeaz metode, evenimente i proprieti puternic tipizate.
Aceasta nseamn c tabelele i coloanele pot fi accesate cu nume n loc de a folosi metode
bazate pe colectii.

DataSet tipizat (typed)

Clase generate din fisere XML cu extenisa .xds

Tabelele pot fi accesate: numeObiectDataSet.numeTabela

Datele din tabele pot fi accesate: numeObiectDataTable.numeColoana

DataSet netipizat (untyped)


o Se folosesc clasele standard
o Tabelele se pot accesa astfel: numeObiectDataSet.Tables[numeTabel]
o Datele din tabele se pot accesa astfel:
numeObiectDataTable.Rows[numeColoana]

12 diferenta dintre task si thread

In Java exista distinctie intre task si thread. Taskul este jobul ce trebuie executat, obiect ce
implementeaza clasa Runnable, iar threadul este mecanismul care executa taskul.

13. Avantajele si dezavantajele tehnologiei LINQ

Avantaje:
Raspuns rapid pt development
Interogarile pot fi dinamice
Tabelele sunt create automat in clase
Coloanele sunt create autoamat in proprietati
Dezavantaje:
Nu sunt conturate clar nivelurile
Interogarile avansate sunt greu de inteles

13. Evenimente rutate si modul lor de functionare

Evenimentul este un mesaj trimis de catre un obiect la care programul raspunde prin executarea
unui bucati de cod

Evenimentele rutate
Un eveniment creat de catre un control sa apara intr-un alt control dintre containerel in care sta
controlul sursa
Tipuri: directe, bubbling, tunel

Directe
Controlul este aruncat si poate fi prins doar la controlul de origine

Bubbling
Evenimentele sunt prinse si tratate mai iontai la control iar apoi la containerul care il contine

Tunel
Aruncat mai intai de catre cel mai de sus container si apoi in jos catre fiecare container pana
ajunge la controlul de origine
Sunt definite in pereche cu cate un evniment de tip bubbling
Mai intai trebuie declansat evenim tunel iar apoi cel de tip bubbling.

13. Evenimente la nivel de aplicatie


Activated: apare cand aplicatia primeste focusul de la un alt program
Decativated: apare cand aplicatia lasa focusul unui alt program
Exit: cand aplicatia este inchisa
Startup: cand aplicatia este pornita

13 descrieti modul de compilare si executie in net.Framework a aplicatiilor web


La prima cerere de livrare a unei pagini web, se execut n mod succesiv urm toarele
evenimente: clientul lanseaz o cerere HTTP GET/POST, parserul ASP.NET interpreteaz -
codul surs a paginii web,

- dac acest cod nu este deja compilat intr/un DLL, ASP.NET invoc compilatorul i se
genereaz codul intermediar de tip MSIL

- in final, mediul de execuie ncarc si execut codul MSIL.

La cererile de livrare urmtoare (a doua figur), mediul de execuie incarc i execut imediat
codul MSIL, cod care este deja compilat de la prima cerere de incrcare a paginii web.

14 cum se adauga suport la designtime pt controalele utilizator? descrieti cateva atribute


de proprietate

Atributele la design ataeaz componentelor funcionalitate la momentul dezvolt rii aplicaie.


Atributele la design pot fi ataate i aplicate proprietilor, evenimentelor, metodelor, claselor i
chiar assembly-urilor. Atributele la nivel de proprieti sunt:

Browsable proprietatea sau evenimentul va fi afiat in fereastra de Properties/Events


Category specifica numele categoriei unde proprietatea va fi afisat

Description specific descrierea propriet ii, aceast descriere urmeaz s fie afisat in
fereastra de properties

DefaultProperty valoarea proprietatea implicit care este selectat in designer dup ce


controlul este tras din toolbox pe forma windows

DefaultValue specific valoarea implicit a proprietii


TypeConverter convertorul implicit utilizat pentru conversia valorii spre alte tipuri
Editor editorul folosit pentru editarea valorii
RefreshProperties indic modul in care designerul face refresh atunci valoarea asociat
controlului se schimb

15 caracterizati fisierul global asax si explicati rolul acestuia intr-o aplicatie web

Fisierul Global.asax. conine cod la nivel de aplicaie care s rspund evenimentelor generate de
ASP.NET.

Suporta trei categorii de evenimente:


Care sunt lansate cand o pagina e ceruta
--------------------------------------- e trimisa
Evenimentele conditionale ale aplicatiei

17 ADO .NET
Framework flexibil care realizeaza accesul la aplicatiile .NET Framework:
Aplicatiile Windows
APlicatiile Web

Reprezinta fundamental pentru tehnologii noi de acces la date.

Tipuri de date suportate:


BD relationale si non-relationale
Depozite de date XML
Date provenind de la aplicatii

ACCESUL LA DATE IN ADO .NET


Obiect de tip connection: SQL CONNECTION si OleDBConnection

Obiecte de tip Command -> utilizeaza comenzi SQL sau procedure stocate
Clase din namespace-ul System.Data

18 descrieti mecanismul prin care se pot returna din taskuri. ce clase si interfete trebuie sa
utilizati in acest sens

Interfata Callable: metoda call care trebuie sa returneze o valoare. Obiectele Callable trebuie
apelate de metoda submit a unui ExecutorService. Metoda submit produce un obiect de tip
Future parametrizat cu tipul rezultatului specific returnat din task.

Obiectul Future poate fi interogat cu metoda isDone() pentru a vedea daca metoda call a produs
rezultatul.

Metoda get() a obiectului Future obtine rezultatul produs de metoda call. Daca rezultatul nu este
disponibil, metoda get este de tip blocking (pana cand rezultatul devine disponibil)

19 ce inseamna excluderea mutuala si cum se realizeaza sincroniser acest lucru


Excluderea mutuala este un mecanism care previne ca doua taskuri sa utilizeze aceasi resursa
sensibila in acelasi timp. Prin excludere mutuala se serializeaza accesul taskurilor la resursa
partajata. Cuvantul cheie synchornized: realizeaza mutual exclusion pentru o resursa Resursa
partajata se incapsuleaza intr-un obiect. Toate metodele care utilizeaza resursa sunt marcate ca
si synchronized.

Mecanismul synchronized: fiecare obiect are un monitor (lacat). Cand un thread intra in zona de
cod synchronized, threadul achizitioneaza monitorul, si nici un alt thread nu va mai putea intra
intr-o zona synchornized a aceluiasi obiect. Daca primul thread care a achizitionat monitorul
intra intr-o noua zona synchornized a aceluiasi obiect, se tine un contor a numarului de
monitoare achizitionate de thread.

Exista si un monitor la nivel de clasa pt synchronized la metode statice.

Cooperarea intre taskuri.

Este vorba de modul in care taskurilor pot lucra in comun pentru atingerea aceluiasi obiectiv:
un task trebuie realizat inaintea altuia.

1.Ce inseamna si cum se realizeaza state view?

=>este un mecanism disponibil pentru a realiza persitena datelor ntre cereri succesive->
datele sunt stocate in cadrul controalelor din pagina

Datele sunt salvate in view state a paginii si sunt trimise in raspunsul serverului ctre
client

La urmtoarea cerere a clientului, view state este returnat cu aceast cerere

La procesarea cererii, ASP.NET preia view state din request si il foloseste ca s reseteze
proprietile paginii si a controalelor pe care le afiseaz

Acest mecanism permite ASP.NET s aib date obiecte intre mai multe cereri fr s le
stocheze pe server
Proprietatea Page.ViewState: un dictionar pentru a retine valorile dintre mai multe cereri
ale aceleiai pagini

Obiect de tipul StateBag

Valoarea de hash este salvat in campul ascuns _ViewState

View state este doar la nivelul aceleiasi pagini si nu intre 2 pagini diferite ale aceleiasi
aplicaii

Tipul obiectelor salvate pe View state poate fi orice tip serializabil

2. DELEGATE

Delegate: un obiect intermediat intre trimitor i receptor

Este necesar pt ca trimitorul nu tie ce procedur va gestiona evenimentul

Prin delegate se creaz metodele care sunt utilizate (delegate) s rspund la eveniment

Un delegate memoreaz o referin ctre metoda care va gestiona evenimentul

Definete numele handlerului si tipul argumentelor

Sunt multicast -> pot memora referinte ctre mai multe handlere

5.ASSEMBLY

Prin compilarea codului sursa C# se genereaz fisiere executabile care ruleaz pe CLR
=> assembly

Contin cod intermediar MSIL (Microsoft intermediate language)

CLR ruleaz cod MSIL indiferent de limbajul surs in care este scris programul

Assembly:

sunt blocurile de baz a aplicaiilor .NET Framework


Reprezinta unitatea de baz pentru deployment, controlul versiunilor reutilizare
si securitate

Colecie de tipuri si resurse care conlucreaz si formeaz o unitate logic de


functionalitate

2 tipuri de assembly:

program executabil

Librarii: pentru modularizarea dezvotrii codului si descopunerea aplicaiei in


componente

Contin informaie legat de controlul versiunii

Fiecare assembly este semnat digital

Includerea informaiei legate de versiune permite realizarea pailor necesari pentru


upgrade-ul aplicaiei

Semnatura assemblyurilor asigura faptul c acestea nu vor fi modificate sau inlocuite de


o implementare alternativ

Semnatura asigura pentru fiecare assembly un strong name

Manifest-ul assembly-ului:

Contine informatia legata de versiune si semnatur

Contine metadata care descrie obiectivul assembly-ului si referine la alte clase


si resurse

Este stocat intr-un fiier portable executable (PE)

Versiunea contine: major version, minor version, build number i revision number

6.Executia assembly

CLR incarc acele assemblyuri referite de ctre aplicaie

ClassLoader: pentru localizarea si incarcarea assemblyurilor


Verific i compileaz assemblyurile in cod masin

MSIL-to-native compiler

Just-in-time compilation: codul MSIL este compilat in executabil chiar inainte


de execuie

Ruleaz executabilul

CodeManager: incarca executabilul si executa metoda Main

Garbage Collector: elibereaz memoria obiectelor care nu mai sunt utilizate de


ctre aplicaie

Exception Manager: furnizeaz gestiunea excepiilor

7.visual studio 2010

IDE care permite dezvoltarea rapid a aplicaiilor (RAD)

Se pot crea interfete GUI complexe in mod rapid

Access la servere si date:

Permite conectarea la serverele de date i explorarea acestora

Debug:

Furnizeaz unealt pentru executie pas-cu-pas, breakpoints, urmarirea executiei

Gestiunea erorilor

Fereastr de erori, acestea sunt produse pe msura scrierii codului si la build

Facilitai pentru help si documentare

VS are help integrat

Intellisense, Code snippets


9.HANDLERE DE COM

Pentru executarea unui cod atunci cand se invoca o comand trebuie creat un
CommandBinding care leag comanda de un handler

11.CONTROALE COMPUSE->user control

Sunt controale realizate din alte controale

Motenesc din clasa UserControl

Are un designer asociat, deci noul control poate fi realizat in VS, folosind
designerul IDE

Adaugarea unui control compozit (user control) din meniu:

1. din meniul Project, se selecteaz Add user control

2. se da numele noului control si apoi Add

Adaugarea unui control compozit din cod

Se creaz o clas care motenete din UserControl

ENTITY FRAMEWORK

Elimina in mare parte nevoia de acces la date

Este folositr in 3 scenarii:

daca ai deja o baza de date sau vrei sa creezi alta care este independent de alte parti ale
aplicatiei

Vrei sa te focusezi pe clasele de domenii


Vrei sa iti proiectezi baza de date pe Visual Designer si apoi sa creezi baza de date si
clasele

Entity framework iti pune la dispozitie un model design unde iti poti crea modelul bazei de date

TEMPLATE BINDING

Leaga o proprietate a unui template de o proprietate a template-ului parinte.

DATA TABLE

Reprezinta o tabela a unei baze de date

Contine 3 proprietati: randuri, coloane, constrangeri.

1. Proprietatea Rows:

Reprezinta o colectie de obiecte DataRows

Contine datele tabelului

2. Proprietatea Columns:

Colectie de obiecte DataTable

Contine metodele tabelului


ENTITY DATA MODELS

Modelul fizic modelul de stocare a datelor in BD

Modelul logic Construit pe baza modelului fizic. Acesta arata modul in care datele sunt
salvate in tabela

Modelul conceptual - Acesta este mapat pe modelul logic si reprezinta o vedere business
asupra datelor. Prin folosirea lui se evita join complexe

Entity Data Model Esrte modelul conceptual definit in .NET Entity Framework

DATA BINDING

Reprezinta procesul de creare a dependentei dintre valoarea unei proprietati de valoarea


unei alte proprietati

Leaga proprietatile unor controale

Determina cum se comporta controalele


DATA TEMPLATE

Descrie cum vor fi afisate datele sursa legate de un control tinta

Deobicei se defineste ca o resursa

Are 2 proprietati:

o Proprietatea Content: ContentTemplate

o Proprietatea Item: ItemsTemplate

EXPRESIILE LAMBDA

O funcie lambda (funcie anonim) este o funcie definit i apelat fr a fi legat de un


identificator. Funciile lambda sunt o form de funcii ,,incuibate (nested functions) n sensul
c permit accesul la variabilele din domeniul funciei n care sunt coninute.

Expresiile lambda ne permit s crem instane ale claselor cu o singur metod ntr-un
mod mult mai compact.

O expresie lambda const:

dintr-o list de parametri formali, separai prin virgul i cuprini eventual ntre
paranteze rotunde,

sgeata direcional: ->

un body ce const dintr-o expresie sau un bloc de instruciuni.


LINQ to SQL

Language Integrated Query (sau LINQ, pronuntat scurt link ), este un set de tehnologii
de la Microsoft .NET care furnizeaza un limbaj de interogare similar SQL-ului ce poate fi
inclus in limbajul de programare.

Acesta permite nu doar pentru acces la bazele de date cat si pentru acces la date din orice
sursa.

LINQ permit un set de operatori extensibili care lucreaza peste obiecte, date SQL si
date in format XML

Decat sa adaugam relatii sau caracteristici XML limbajelor noastre de programare,


cu LINQ putem avea la indemana o abordare mai generala in sensul in care adaugam
facilitati de interogare pentru utilizare generala in cadrul Platformei .NET care se aplica
pentru toate sursele de informatii, nu doar cele relationale sau date XML. Aceasta facilitate
este numita Interogare Integrata in limbajul .NET.

CONTROALE WPF (Windows Form)


Exista trei tipuri de controale: controale individuale, controale item si controale layout
Controalele individuale au un scop individual intr-o aplicatie. Ele corepsund unor controale
echivalente: button, label, textbox
Controalele Item grupeaza mai multe itemuri. Exemple: ListBox, Meniu
Controalele Layout contin alte controale de orice tip. Exemple: Grid, Canvas.

CLASE SI NAMESPACEURI
clasa defineste caracteristica si functionalitatea unei entitati

Namespace-ul reprezinta o colectie logica de clase (este echivalentul packageului.

CONTROLUL BUTTON
PErmite utilizatorului sa efectueze actiunde de click (ex: sa ieste dintr-o fereastra)

Utilizatorul trebuie sa rescrie hanlerul pentru evenimentul CLICK.

Are 2 proprietati:

IsDefault daca acesta este True atunci butonul este setata Default pentru GUI.
Evenimentul se genereaza atunci cand apesi ENTER
IsCancel daca acesta este True atunci butonul este setata Cancel pentru GUI.
Evenimentul se genereaza cand apesi pe ESC.

PROPERTY ATRIBUTES
Este specificat intre []

Specifica modul in care controlul va fi interpretata

Se pot define editoare custom pentru noile proprietati

CONTROALE EXISTENTE
Extend functionalitatea controalelor existente

Se retine functionalitatea controalelor si se adauga metode noi

CONTROALE CUSTOM vs CONTROALE USER


Controalele custom sunt create din cod cee ace le face mai usor de utilizat dar mul mai greu de
creat in comparative cu controalele user.
Se poate instala o singura copie a controlului web custom in cache-ul de asamblare care poate fi
folosita in mai multe aplicatii.

Controalele User/compuse sunte usor de realizat, dar nu se pot folosi in situatii mai complicate.
Controalele utilizator sunt compilate in mod dynamic, iar in momentul rularii acestea nu pot fi
adaugate in toolbox si sunt reprezentate de un glyph cand sunt adaugate intr-o pagina. Singura
modalitatea prin care poti folosi controlul user in alte aplicatii este prin a pune cate o copie in
fiecare aplicatie unde doresti s ail folosesti

CONTROALE UTILIZATOR

Exist trei modaliti pentru crearea controalelor utilizator: extinderea unor controale
existente, crearea de controale composite si crearea controalelor custom.

Extinderea unui control existent:

Extindem un control existent dac noul control este aproape similar in funcionalitate cu
un control existent. Orice control din Windows Forms poate fi extins derivand din el si
suprascriind proprietati, metode sau evenimente. De asemenea, la noul control derivat se
pot crea noi metode proprii acestuia. LA derivare, se poate utiliza cuvantul cheie base
pentru a face apel la constructorul clasei de baza din constructorul clasei derivate.

Controale composite

Se pot combina controale existente intr-un control composit. Pentru aceasta se foloseste
compunerea claselor sau agregarea. Controalele composite se folosesc atunci cand dorim
s obtinem o functionalitate complex care necesit folosirea a mai mult dect un control
existent. Un control composit afiseaz o interfa grafic reutilizand controale existente.
Un control compozit poate sintetiza proprietati din proprietile controalelor copii si de
asemenea poate trata evenimente produse de controalele copii. Controlul compozit poate
de asemenea s expun proprieti si evenimente custom. Controalele compozite sunt un
30
soi de containere pentru alte controale deoarece pentru crearea lor se extinde clasa
ContainerControl.
Controalele compozite deriv din clasa UserControl. Visual Studio .NET furnizeaz
suport total pentru realizarea designului controalelor compozite.

CONTROALE CUSTOM
Dac nu dorim s extindem controale existente sau s combinm aceste controale in
controale noi putem crea controale noi de la zero. Controalele custom afiseaz interfaa
grafic prin apel la un obiect de tip Graphics (din GDI+) in metoda de tratare a
evenimentului OnPaint. Controalele custom sunt derivate direct din clasa Control care
furnizeaz un dreptunghi gol care poate fi desenat. Pentru realizarea desenelor noului
control trebuie rescris metoda de tratare a evenimentului OnPaint a controlului. De
asemenea, intr-un control custom se pot suprascrie proprieti, metode si evenimente ale
clasei Control. Clasa Control furnizeaz handlerele pentru fereastr, gestioneaz rutarea
mesajelor si furnizeaz evenimente de mouse si tastatur ca si alte evenimente produse
intr-o interfa grafic.

SCENARII DE MAPARE

Single Mapping o entitate din modelul conceptual de mapata catre o singura tabela din
modelul fizic

Entity splitting proprietate dintr-o singura entitate a modelului conceptual. Sunt


mapate in 2 sau mai multe tabele care partajeaza o cheie primara comuna

Mostenire TPH toate tipurile dintr-o ierarhie de mostenire sunt mapate pe o singura
tabela

Mostenire TPT toate tipurile sunt mapate in tabele individuale

Mostenire TPC tipurile ne-abstracte sunt mapate in tabele individuale.