F -X C h a n ge<br />
<br />
F -X C h a n ge<br />
<br />
O<br />
W<br />
!<br />
<br />
PD<br />
<br />
O<br />
W<br />
!<br />
<br />
N<br />
<br />
y<br />
<br />
bu<br />
k<br />
lic<br />
tr<br />
<br />
1.<br />
2.<br />
3.<br />
4.<br />
5.<br />
<br />
Tình hình tr c khi MS.NET ra<br />
Microsoft .NET<br />
Biên d ch và MSIL<br />
Ngôn ng C#<br />
Câu h i<br />
<br />
i<br />
<br />
2/46<br />
<br />
1<br />
<br />
c khi MS.NET ra<br />
<br />
k e r- s o ft w a<br />
<br />
i dung<br />
<br />
Ch ng 1<br />
Gi i thi u C#<br />
<br />
1. Tình hình tr<br />
<br />
ac<br />
<br />
.c<br />
<br />
C<br />
<br />
om<br />
<br />
k<br />
lic<br />
C<br />
<br />
.c<br />
<br />
re<br />
<br />
.<br />
<br />
.<br />
<br />
k e r- s o ft w a<br />
<br />
w<br />
<br />
w<br />
<br />
ac<br />
<br />
ww<br />
<br />
ww<br />
<br />
tr<br />
<br />
to<br />
<br />
to<br />
<br />
bu<br />
<br />
y<br />
<br />
N<br />
<br />
12/05/2011<br />
<br />
om<br />
<br />
PD<br />
<br />
i<br />
<br />
1. Tình hình tr<br />
<br />
c khi MS.NET ra<br />
<br />
i<br />
<br />
l p trình trên Web, ng i ta v n dùng PHP, m t ngôn<br />
ng t c<br />
nhanh<br />
• Trong gi i phát tri n ng d ng trên Windows ta có th<br />
vi t ng d ng b ng Visual C++, Delphi hay Visual Basic<br />
• Do Visual Basic không thích h p cho vi t các ng Web<br />
Server nên Microsoft t o ra ASP (Active Server Page)<br />
• B n thân c a ASP hãy còn m t s khuy t<br />
m quan<br />
tr ng, nh t là khi ch y trên IIS (Internet Information<br />
Server) v i Windows NT 4, ASP không áng tin c y l m<br />
<br />
• Java<br />
c Sun vi t ra, ã có s c m nh áng<br />
, nó h ng t i vi c ch y trên nhi u h<br />
u<br />
hành khác nhau, c l p v i b x lý<br />
c bi t là Java r t thích h p cho vi c vi t các<br />
ng d ng trên Internet<br />
• Tuy nhiên, Java l i có h n ch v m t t<br />
và<br />
trên th c t v n ch a th nh hành<br />
<br />
3/46<br />
<br />
4/46<br />
<br />
1<br />
<br />
re<br />
<br />
F -X C h a n ge<br />
<br />
F -X C h a n ge<br />
<br />
O<br />
W<br />
!<br />
<br />
PD<br />
<br />
O<br />
W<br />
!<br />
<br />
N<br />
<br />
y<br />
<br />
bu<br />
k<br />
lic<br />
tr<br />
<br />
2. Microsoft .NET<br />
<br />
ac<br />
<br />
.c<br />
<br />
C<br />
<br />
om<br />
<br />
k<br />
lic<br />
C<br />
<br />
.c<br />
<br />
re<br />
<br />
.<br />
<br />
.<br />
<br />
k e r- s o ft w a<br />
<br />
w<br />
<br />
w<br />
<br />
ac<br />
<br />
ww<br />
<br />
ww<br />
<br />
tr<br />
<br />
to<br />
<br />
to<br />
<br />
bu<br />
<br />
y<br />
<br />
N<br />
<br />
12/05/2011<br />
<br />
om<br />
<br />
PD<br />
<br />
k e r- s o ft w a<br />
<br />
2. Microsoft .NET<br />
u n m 1998, sau khi hoàn t t phiên b n Version 4<br />
a Internet Information Server (IIS), các i ng l p<br />
trình Microsoft nh n th y h còn r t nhi u sáng ki n<br />
ki n toàn IIS.<br />
• H b t<br />
u xây d ng m t ki n trúc m i trên n n<br />
ng ý t ng ó và<br />
t tên là Next Generation<br />
Windows Services (NGWS)<br />
• Th t s Microsoft ã t c c vào .NET vì theo thông tin<br />
a công ty, ã t p trung 80% s c m nh c a Microsoft<br />
nghiên c u và tri n khai .NET<br />
<br />
6/46<br />
<br />
5/46<br />
<br />
Microsoft .NET<br />
<br />
Commom Language Runtime (CLR)<br />
<br />
• .NET là m t môi tr ng qu n lý, phát tri n và th c thi<br />
các m ngôn ng .NET<br />
• .NET cung c p các kh n ng :<br />
<br />
• CLR th c hi n qu n lý :<br />
–<br />
–<br />
–<br />
–<br />
<br />
– V c p phát và thu h i b nh<br />
– Qu n lý c p quy n,<br />
– Cung c p và qu n lý các ngu n tài nguyên<br />
<br />
B nh<br />
Qu n lý th c thi ti u trình, th c thi mã ngu n<br />
Xác nh n mã ngu n an toàn<br />
Biên b ch và các d ch v h th ng khác<br />
<br />
• CLR thúc<br />
<br />
• G m 2 ph n chính:<br />
– Commom Language Runtime (CLR)<br />
– Framework class lybary<br />
<br />
y:<br />
<br />
– Vi c mã ngu n th c hi n vi c truy c p<br />
cb om t<br />
– Mã ngu n<br />
c th c thi m nh m h n b ng vi c<br />
th c thi mã ngu n chính xác và s xác nh n mã<br />
ngu n<br />
7/46<br />
<br />
8/46<br />
<br />
2<br />
<br />
re<br />
<br />
F -X C h a n ge<br />
<br />
F -X C h a n ge<br />
<br />
O<br />
W<br />
!<br />
<br />
PD<br />
<br />
O<br />
W<br />
!<br />
<br />
N<br />
<br />
y<br />
<br />
bu<br />
k<br />
lic<br />
tr<br />
<br />
.NET framework class lybary<br />
<br />
k e r- s o ft w a<br />
<br />
t s tính n ng c a Microsoft .NET<br />
<br />
• Framework là m t t p h p h ng i t ng c a<br />
các ki u d li u<br />
c dùng l i<br />
• Nó cho phép phát tri n nh ng ng d ng t :<br />
ng d ng truy n th ng command-line (Console)<br />
ng d ng có giao di n<br />
a (GUI)<br />
– Nh ng ng d ng m i nh t<br />
c cung c p b i<br />
ASP.NET (Web Form và d ch v XML Web)<br />
– D ch v windows<br />
<br />
•<br />
<br />
M t mô hình l p trình cho phép :<br />
– Phát tri n xây d ng các ng d ng d ch v web<br />
ng d ng client v i Extensible Markup Language (XML).<br />
<br />
•<br />
<br />
•<br />
<br />
•<br />
<br />
Cung c p các server ph c v bao g m: Windows 2000, SQL<br />
Server, và BizTalk Server, t t c<br />
u tích h p, ho t ng, và qu n<br />
lý các d ch v XML Web và các ngd ng<br />
Các ph n m m client nh Windows XP và Windows CE giúp ng i<br />
phát tri n phân ph i sâu và thuy t ph c ng i dùng kinh nghi m<br />
thông qua các dòng thi t b<br />
Nhi u công c h tr nh Visual Studio .NET,<br />
phát tri n các d ch<br />
Web XML, ng d ng trên n n Windows hay n n web m t cách<br />
dàng và hi u qu<br />
<br />
10 /46<br />
<br />
9/46<br />
<br />
Phát tri n<br />
<br />
ac<br />
<br />
.c<br />
<br />
C<br />
<br />
om<br />
<br />
k<br />
lic<br />
C<br />
<br />
.c<br />
<br />
re<br />
<br />
.<br />
<br />
.<br />
<br />
k e r- s o ft w a<br />
<br />
w<br />
<br />
w<br />
<br />
ac<br />
<br />
ww<br />
<br />
ww<br />
<br />
tr<br />
<br />
to<br />
<br />
to<br />
<br />
bu<br />
<br />
y<br />
<br />
N<br />
<br />
12/05/2011<br />
<br />
om<br />
<br />
PD<br />
<br />
ng d ng Client<br />
<br />
Ki u truy n th ng<br />
ây là nh ng ki u ng d ng hi n th nh ng c a s hay<br />
nh ng form trên desktop<br />
• Cho phép ng i dùng th c hi n m t thao tác hay nhi m<br />
nào ó nh :<br />
<br />
• Ki u truy n th ng<br />
• ActiveX control<br />
<br />
– Nh x lý v n b n, x lý b ng tính, nh ng ng d ng trong l nh<br />
c th ng m i nh công c nh p li u, công c t o báo cáo...<br />
– Th ng s d ng nh ng c a s , menu, toolbar, button hay các<br />
thành ph n GUI khác<br />
– Chúng th ng truy c p các tài nguyên c c b nh là các t p tin<br />
th ng, các thi t b ngo i vi nh máy in.<br />
<br />
11/46<br />
<br />
12 /46<br />
<br />
3<br />
<br />
re<br />
<br />
F -X C h a n ge<br />
<br />
F -X C h a n ge<br />
<br />
O<br />
W<br />
!<br />
<br />
PD<br />
<br />
O<br />
W<br />
!<br />
<br />
N<br />
<br />
y<br />
<br />
bu<br />
k<br />
lic<br />
tr<br />
<br />
ActiveX control<br />
<br />
k e r- s o ft w a<br />
<br />
3. Biên d ch và MSIL<br />
• Trong .NET Framework, ch ng trình không<br />
c biên<br />
ch vào các t p tin th c thi mà thay vào ó chúng<br />
c<br />
biên d ch vào nh ng t p tin trung gian i là Microsoft<br />
Intermediate Language (MSIL)<br />
• Khi ng d ng c a b n th c thi, mã MSIL là “just in time”<br />
biên d ch sang mã máy b i JITTER (just in time<br />
compiler)<br />
• Nh v y khi b n vi t các l p trên .Net b ng b t k ngôn<br />
ng nào khi b n biên d ch sang Assembly b n u có<br />
th s d ng Assembly ó cho các ngôn ng khác<br />
<br />
c nhúng vào các trang web trên Internet<br />
• Hi n nay nó<br />
c thay th b i các Windows<br />
Form control<br />
• Windows Form control có s truy c p gi i h n<br />
n máy c a ng i s d ng<br />
<br />
14/46<br />
<br />
13/46<br />
<br />
4. Ngôn ng<br />
<br />
ac<br />
<br />
.c<br />
<br />
C<br />
<br />
om<br />
<br />
k<br />
lic<br />
C<br />
<br />
.c<br />
<br />
re<br />
<br />
.<br />
<br />
.<br />
<br />
k e r- s o ft w a<br />
<br />
w<br />
<br />
w<br />
<br />
ac<br />
<br />
ww<br />
<br />
ww<br />
<br />
tr<br />
<br />
to<br />
<br />
to<br />
<br />
bu<br />
<br />
y<br />
<br />
N<br />
<br />
12/05/2011<br />
<br />
om<br />
<br />
PD<br />
<br />
Gi i thi u<br />
<br />
C#<br />
<br />
• Gi i thi u<br />
• C# và các ngôn ng l p trình khác (sinh viên t<br />
nghiên c u)<br />
• T i sao là C#<br />
• Các b c chu n b cho ch ng trình<br />
• Ch ng trình C#<br />
n gi n<br />
• Phát tri n ch ng trình minh ho<br />
<br />
15/46<br />
<br />
16/46<br />
<br />
4<br />
<br />
re<br />
<br />
F -X C h a n ge<br />
<br />
F -X C h a n ge<br />
<br />
O<br />
W<br />
!<br />
<br />
PD<br />
<br />
O<br />
W<br />
!<br />
<br />
N<br />
<br />
y<br />
<br />
bu<br />
k<br />
lic<br />
tr<br />
<br />
Gi i thi u<br />
• Ngôn ng C# khá<br />
<br />
• C# làm vi c xoay quanh khái ni m Assembly<br />
• Assembly là t p h p mã<br />
c biên d ch sang .NET<br />
• Ti n trình th c thi b i m t ch ng trình C# :<br />
<br />
c xây d ng s n<br />
<br />
• Ngôn ng C# có ý ngh a cao :<br />
<br />
– Khi ch ng trình<br />
c th c thi, CLR s xác nh n n các<br />
Assembly manifest và quy n h n ch y c a ch ng trình trên h<br />
th ng<br />
– H b o v h th ng:<br />
• Không cho phép ch ng trình ch y, ch ng trình s không<br />
ch y<br />
• N u<br />
c phép, CLR s th c thi m l nh. Bit u tiên c a<br />
code<br />
c n p vào b nh và<br />
c biên d ch thành m nh<br />
phân t IL b i JIT. Sau khi<br />
c biên d ch, m<br />
c th c thi<br />
và ch a trong b nh<br />
<br />
– Bao g m t t c nh ng h tr cho c u trúc<br />
– Thành ph n component<br />
– L p trình h ng i t ng<br />
c xây d ng trên n n t ng c a hai ngôn ng m nh nh t là<br />
C++ và Java<br />
<br />
• Ngôn ng C#<br />
c phát tri n b i i ng k s c a<br />
Microsoft, trong ó ng i d n u là Anders Hejlsberg<br />
và Scott Wiltamuth<br />
<br />
18 /46<br />
<br />
17/46<br />
<br />
i sao là C#?<br />
•<br />
•<br />
•<br />
•<br />
•<br />
•<br />
•<br />
<br />
k e r- s o ft w a<br />
<br />
Cách th c làm vi c<br />
<br />
n gi n:<br />
<br />
– Ch kho ng 80 t khóa<br />
– H n m i m y ki u d li u<br />
<br />
ac<br />
<br />
.c<br />
<br />
C<br />
<br />
om<br />
<br />
k<br />
lic<br />
C<br />
<br />
.c<br />
<br />
re<br />
<br />
.<br />
<br />
.<br />
<br />
k e r- s o ft w a<br />
<br />
w<br />
<br />
w<br />
<br />
ac<br />
<br />
ww<br />
<br />
ww<br />
<br />
tr<br />
<br />
to<br />
<br />
to<br />
<br />
bu<br />
<br />
y<br />
<br />
N<br />
<br />
12/05/2011<br />
<br />
om<br />
<br />
PD<br />
<br />
C#<br />
<br />
C#<br />
n gi n<br />
C# hi n i<br />
C# h ng i t ng<br />
C# m nh m và m m d o<br />
C# ít t khóa<br />
C# h ng module<br />
C# s ph bi n<br />
<br />
n gi n<br />
<br />
• C# lo i b m t vài s ph c t p và r i r m c a<br />
nh ng ngôn ng nh Java và c++ [macro,<br />
template, a k th a, và l p c s<br />
class)]<br />
<br />
• Ngôn ng C#<br />
C và C++<br />
<br />
19/46<br />
<br />
o (virtual base<br />
<br />
n gi n vì nó d a trên n n t ng<br />
<br />
20/46<br />
<br />
5<br />
<br />
re<br />
<br />