Tải bản đầy đủ (.pdf) (6 trang)

Lập trình với C# và .net framework

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (255.8 KB, 6 trang )

C
C
C
#
#
#



P
P
P
r
r
r
o
o
o
g
g
g
r
r
r
a
a
a
m
m
m
m


m
m
i
i
i
n
n
n
g
g
g
– Phn 1: Lp


trì
trì
nh


h

ng


đi


t

ng



www.bodua.com
L
L


p
p trì
n
n
h
h
h
h
n
n
g
g
đ
đ


i
i
t
t
n
n
g

g
w
w
w
w
w
w
.
.
b
b
o
o
d
d
u
u
a
a
.
.
c
c
o
o
m
m




1
N
N
N
g
g
g
u
u
u
y
y
y



n
n
n



M
M
M
a
a
a
i
i

i



H
H
H
u
u
u
y
y
y




C Sharp và .NET framework
M đu
Vào nhng thp nhiên 80, 90 ca th k trc, C ri C++ là nhng ngôn ng lp trình truyn thng
khá ni ting giúp cho lp trình viên phát trin ng dng ca mình rt hiu qu. Tuy nhiên nhng
ngôn ng này có mt s nhc đim thng đc nhc ti nh sau:
- Rt kh
ó khn đ tip cn (
Nht là đi vi nhng ngi mi chp chng bc vào lnh vc lp
trình
)
- Tn kém nhiu thi
gian và chi phí đ phát trin đi vi 1 phn mm c th
- Vic h tr cho

Debug chng trình không tt dn đn vic gp nhiu khó khn khi cn kim
tra thut toán ca chng trình vào thi đim thc thi ca chng trình (
 đây thut ng
Debug dùng đ ch 1 k thut giúp cho lp trình viên có th kim tra tin trình hot đng
trong b nhó đi vi chng trình ca mình, k thut này rt hiu qu khi lp trình viên cn
phi xác đnh tính đúng đn đi vi thut toán đã s dng
)
- Vic kt ni gia chn
g trình chính vi c s d liu khá phc tp.
- …
Microsoft gii thiu C
# (
C Sharp
) nh mt ngôn ng lp trình mi đ gii quyt nhng nhc đim
ca các ngôn ng lp trình truyn thng. C# đc phát trin vi nhng mc đích chính nh :
- Cho phép lp
trình viên có th xây dng các chng trình ca mình mt cách đn gin mà
hiu qu, có th phát trin và m rng trong tng lai vi kh nng tng thích cao trong
nhng h thng có kin trúc phn cng khác nhau.
- Xây dng
và phát trin ng dng da trên kit trúc ca lp trình hng đi tng (
pure
object-oriented architecture
). Vì th C# h tr các thành phn hng đi tng trong
chng trình rt mnh.
- Cho phép s dng li nhiu tính nng ch có
trong C++ trc đây trong khi vn đm bo tính
d dùng (
easy-of-use
) khi xây dng ng dng

- …
Gii thiu .NET framework & các thành phn chính
.NET Framework ca Microsoft là mt “
môi trng lp trình
” tp hp các th vin, các công c phc
v cho vic lp trình trên h điu hành Windows. .NET Framework cung cp nhng gii pháp thit
yu cho nhng yêu cu thông thng ca các chng trình điu khin máy tính nh các gii thut s
hc (
Arithmetic algorithms
), h tr cho lp trình giao din ngi dùng (GUI –
Graphical User
Interface
), truy cp d liu, kt ni c s d liu (
connectivity and database access
), trin khai ng
dng trên trình duyt (
web application
), giao tip thông qua mng máy tính (
networking access
)….
.NET framework đc gii thiu vi 2 thành phn chính nh sau:
- Common Language Runtime (CLR): đ
c xem nh là “
xng sng
” ca .NET
Framework đ thc hin các chc nng nh:
o Qun lý
b nh
o Thc thi mã
lnh

o X lý
li xy ra trong quá trình biên dch và thi hành chng trình
o Thu gom “rác” sinh ra trong quá trình thc t
hi ng dng
o …
C
C
C
#
#
#



P
P
P
r
r
r
o
o
o
g
g
g
r
r
r
a

a
a
m
m
m
m
m
m
i
i
i
n
n
n
g
g
g
– Phn 1: Lp


trì
trì
nh


h

ng



đi


t

ng


www.bodua.com
L
L


p
p trì
n
n
h
h
h
h
n
n
g
g
đ
đ


i

i
t
t
n
n
g
g
w
w
w
w
w
w
.
.
b
b
o
o
d
d
u
u
a
a
.
.
c
c
o

o
m
m
- .NET Framework Class Library (FCL): là mt th vin các lp hng đi tng có kh
nng tái s dng h tr cho vic phát trin ng dng theo nhng hình thc khác nhau, t ng
dng đc gi thi hành thông qua dng lnh trong môi trng textmode cho đn ng dng
thc thi trong môi trng đ ha, các ng dng hot đng trên nn Web.

Kin trúc ca .NET Framework
.NET Framework là 1 môi trng “multi-lingual” và “multi-platform”, mt môi trng cho
phép xây dng, trin khai và thc thi ng dng. Trong .NET Framework, lp trình viên có th
phát trin ng dng ca mình trên các nn tng khác nhau nh: trin khai ng dng chy trên
thit b di đng, máy tính đ bàn, Smartphone, … (
iu này ng vi thut ng
“multi-
platform”). H tr cho lp trình viên có th phát trin ng dng ca mình bng các ngông ng
lp trình ni ting : Visual Basic .NET, C #, J # (“
multi-lingual
”). Kin trúc ca .NET Framework
da trên 3 thành phn chính nh sau
- Các ngôn ng lp trình đ
c h tr bi .NET Framework
- Th vic cá
c lp cho phép lp trình đnh hng đi tng vi kh nng tái s dng mã lnh
(.NET Framework Class Library: FCL)
- Và Common Language Runtime (CLR)
Các thành phn
khác trong kin trúc .NET Framework
• Web form: cung cp các lp phc v cho vic xây dng giao din Web
• Web services : bao

gm các lp cho phép xây dng các ng dng dng “Web
Service”,  đây ta tm hiu Web Service nh là nhng ng dng cho phép truy xut và
khai thác thông tin qua mng Internet. (VD:
các ng dng cung cp thông tin v thi
tit, xác minh tính hp l ca th tín dng khi giao dch qua Internet, tra cu thông tin
nhà đt, tin t, …
)
• Windows forms: Tp hp cá
c lp phc v cho vic xây dng ng dng chy trên h
điu hành Windows ti máy tính cá nhân
• ASP.NET: H tr phá
t trin các ng dng Web chy trên trình duyt, có mã lnh đt
ti phía Server
• ADO.NET: Giao din cá
c lp cho phép giao tip vi các ngun d liu dng ADO (VD:
dùng cho các ng dng có nhu cu đc thông tin t tp tin xls ca Excel, mdb ca
Access, doc ca Ms Word, …)
• XML Classes : H tr thao tá
c vi d liu dng XML nh tìm kim, chuyn đi và các
thao tác trc tip trên các “node” ca d liu dng này



2
N
N
N
g
g
g

u
u
u
y
y
y



n
n
n



M
M
M
a
a
a
i
i
i



H
H
H

u
u
u
y
y
y




C
C
C
#
#
#



P
P
P
r
r
r
o
o
o
g
g

g
r
r
r
a
a
a
m
m
m
m
m
m
i
i
i
n
n
n
g
g
g
– Phn 1: Lp


trì
trì
nh



h

ng


đi


t

ng


www.bodua.com
L
L


p
p trì
n
n
h
h
h
h
n
n
g
g

đ
đ


i
i
t
t
n
n
g
g
w
w
w
w
w
w
.
.
b
b
o
o
d
d
u
u
a
a

.
.
c
c
o
o
m
m
• Base Framework Classes: cung cp các chc nng c bn h tr cho vic xut nhp
thông tin, x lý d liu dng chui, các giao thc cho vic truyn thông trên mng
cng nh c ch bo mt, …
• Common Language Specification (CLS):
là 1 tp các quy tc dành cho các ngôn
ng lp trình đc .NET framework h tr, CLS cho phép to ra s tng thích ca
chng trình gia các loi ngôn ng khách nhau trên nn tng ca .NET
• Common Type System (CTS):
đc xem nh h thng đnh kiu ca .NET
Framework, CTS có nhim v mô t nhng d liu đc khai báo trong chng trình,
cách s dng và qun lý chúng trong quá trình mà ng dng thc thi, to ra s thun
li cho vic nhn dng cng nh s dng các kiu d liu trên các ngôn ng khác
nhau mà .NET h tr.
Microsoft Intermediate Language (MSIL)
Mi ngôn ng lp trình đc h tr trong .NET Framework đu có 1 trình biên dch và 1 môi
trng cho phép thc thi ng dng ng vi mã lnh đc vit bi ngôn ng tng ng. Trình biên
dch có nhim v chuyn đi mã ngun (
Source code
) thành mã thc thi (executable code) đ cho
phép ngi dùng có th gi thc thi ng dng khi cn.
Mt trong
nhng mc tiêu chính ca .NET Framework là tích hp các môi trng thc thi ng dng

(
runtime environment
) ca các ngôn ng lp trình khác nhau thành 1 môi trng duy nht. ó
chính là MSIL, MSIL đc xem nh mt ngôn ng trung gian cho vic chuyn đi và thc thi mã
lnh đã đc biên dch t các trình biên dch ca các ngôn ng lp trình đc .NET Framework h
tr trc khi thc thi ng dng trên nn ca .NET Framework.
Hãy xem hình mô t di đây, chng trình có
mã ngun đc vit bi mt trong các ngôn ng
lp trình nh VB, C# trong môi trng .NET, sau khi biên dch bi mi trình biên dch ca ngôn
ng tng ng thì phn mã lnh s đc MSIL biên dch li và sau đó ng dng có th thi hành
trên nn ca .NET Framework

Common Language Runtime(CLR)
Common Language Runtime là mt thành phn ct lõi ca .NET Framework, nó chu trách nhim
biên dch mã MSIL ca các chng trình đc xây dng trên .NET Framework thành mã máy,
qun lý vic thc thi các chng trình này nh: np chng trình, to các tiu trình, cp phát và
thu hi vùng nh cng nh tài nguyên cho các chng trình thi trong môi trng .NET.

Nói cách khác CLR đc xem nh là “
máy o
” ca .NET Framework, nó đc s dng đ
chuyn đi các mã MSIL thành ngôn ng máy đ có th điu khin CPU thi hành.
Các tính nng c bn ca C#
C# là 1 ngôn ng lp trình, đc thit kt đ cho phép xây dng các chng trình ng dng thc
thi trên môi trng .NET. Mt s tính nng chính ca C# có th k đn nh:



3
N

N
N
g
g
g
u
u
u
y
y
y



n
n
n



M
M
M
a
a
a
i
i
i




H
H
H
u
u
u
y
y
y




C
C
C
#
#
#



P
P
P
r
r
r

o
o
o
g
g
g
r
r
r
a
a
a
m
m
m
m
m
m
i
i
i
n
n
n
g
g
g
– Phn 1: Lp



trì
trì
nh


h

ng


đi


t

ng


www.bodua.com
L
L


p
p trì
n
n
h
h
h

h
n
n
g
g
đ
đ


i
i
t
t
n
n
g
g
w
w
w
w
w
w
.
.
b
b
o
o
d

d
u
u
a
a
.
.
c
c
o
o
m
m



4
N
N
N
g
g
g
u
u
u
y
y
y




n
n
n



M
M
M
a
a
a
i
i
i



H
H
H
u
u
u
y
y
y





- C# là ngôn ng lp trình hng đi tng, ly đi tng làm tâm đim cho vic thit k và
xây dng ng dng cng nh trin khai mã lnh. Chính vì th kh nng tái s dng mã ngun
rt cao, gim thi gian đáng k cho vic phát trin và bo trì ng dng.
- H tr c ch an toà
n đi vi kiu d liu đc s dng trong chng trình(
Type-savety
checking
)
- Cung cp c ch “
dn rác t đng
” (Garbage collection) thc hin qun lý b nh t đng
theo tin trình thi gian và phm vi hot đng ca chng trình đ loi b nhng vùng nh đã
cp phát quá lâu mà không còn dùng đn hoc nhng vùng nh đã cp phát bi nhng tiu
trình trc đó, không còn phù hp vi thi đim hin ti
- Generic types and methods (
 đây tôi không dch đc cm t này nên gi nguyên
), nh
chúng ta đã bit k thut Generic trong Java (
Nu bn đã bit Java
),  C# cng th, đ có
th
đa hình hóa
và s dng hiu qu các hàm, các kiu d liu trong nhiu tình hung c th
khác nhau, C# cung cp k thut Generic đi vi các kiu d liu cng nh đi vi phng
thc, ta có th hiu nôm na nh vic đnh ngha 1 kiu d liu chung chung (
Hoc 1 hàm
chung

) đ tùy theo tình hung c th mà s dng, điu này làm tng kh nng tái s dng
các kiu d liu, hàm. Lp trình viên không phi vit quá nhiu hàm khác nhau cho nhng tình
hung cùng dng.
Cho đn
nay, C# là ngôn ng lp trình đc đa s lp trình viên a thích, so vi C++ thì C# đn
gin hn rt nhiu và khá thân thin đi vi ngi s dng (
Lp trình viên
). C# có 1 s li đim
nh sau:
- Có th s dng mã
lnh đc vit bng ngôn ng khác (
nhng ngôn ng đc .NET h tr
)
trong các chng trình vit bng C# mà không cn phi vit li.
- Tích hp sn các giao
thc Internet thông dng do đó có th xây dng các ng dng có kh
nng giao tip thông qua mng máy tính mt cách thun li
- n gin khi trin khai ng dng, có
th chia chng trình thành nhiu b phn nh đ phát
trin bi nhiu nhóm khác nhau sau đó lp ghép li thành 1 chng trình thng nht
- H tr cho
vic xây dng các tài liu k thut dng XML thông qua vic to chú thích XML
trong phn mã lnh ca chng trình, điu này khá thun tin cho vic bo trì chng trình
sau này.
- …
Gii thiu Visual Studio 2008
Visual tudio 2008 là 1 b công c hoàn chnh cho vic phát trin các ng dng thi hành trên nn
tng ca .NET Framework 3.5 dành cho máy tính cá nhân, các dch v dng XML Web, các ng
dng dành cho thit b di đng, smartphone và các ng dng web xây dng phía server nh
ASP.NET. Hn na, Visual studio 2008 cho phép đn gin hóa vic thit k chng trình theo

nhóm đ phát trin các ng dng cho doanh nghip vi quy mô ln mt cách thun tin.
Visual studio phiên bn 2008
là mt môi trng phát trin tích hp (IDE -
intergrated development
environment
) vi 4 bn chính nh sau:
- Visual Studio Team system 2008 edition
- Microsoft Visual Studio 2008 Professional Edition
- Visual Studio 2008 Standard Edition
- Visual Studio 2008 Express Edition
Các ngôn ng lp trình đ
c h tr trong Visual Studio 2008
- Visual C++
- Visual C#
C
C
C
#
#
#



P
P
P
r
r
r
o

o
o
g
g
g
r
r
r
a
a
a
m
m
m
m
m
m
i
i
i
n
n
n
g
g
g
– Phn 1: Lp


trì

trì
nh


h

ng


đi


t

ng


www.bodua.com
L
L


p
p trì
n
n
h
h
h
h

n
n
g
g
đ
đ


i
i
t
t
n
n
g
g
w
w
w
w
w
w
.
.
b
b
o
o
d
d

u
u
a
a
.
.
c
c
o
o
m
m
- Visual Basic
- Visual J#
Các thành phn
chính trên giao din ca Visual Studio 2008

Solution Explorer: Mô t cu trúc chng trình ca bn di dng cu trúc File-Folder, thông
qua ca s này, bn có th chn các tp tin trong chng trình ca mình đ m
ra và làm vic trc tip vi nó. (Class file, aspx file, css file, …)
Code Editor :
vùng son tho mã lnh nm chính gia màn hình, cho phép bn vit Code cho
chng trình ca mình
Properties Windows: T
h hin danh sách các thuc tính ca đi tng mà bn đang chn. Rt
hu ích khi bn lp trình giao din, có th điu chnh các thuc tính ca đi
tng mt cách trc quan, d dàng
Dynamic Help: H tr cho
bn đ gii quyt nhng thc mc v cú pháp, cách dùng các đi
tng mà .NET Framework cung cp

Biên dch và thc thi chng trình trong Visual Studio
Sau khi đã vit xong 1 chng trình, điu đu tiên mà chúng ta quan tâm đn chính là làm sao đ
biên dch nó và thi hành sn phm ca mình, đ t đó thy đc quá trình hot đng ca chng
trình mà mình va xây dng.
Trong visual studio (
i vi hu ht các phiên bn
), bn s thc hin nh sau



5
N
N
N
g
g
g
u
u
u
y
y
y



n
n
n




M
M
M
a
a
a
i
i
i



H
H
H
u
u
u
y
y
y




C
C
C

#
#
#



P
P
P
r
r
r
o
o
o
g
g
g
r
r
r
a
a
a
m
m
m
m
m
m

i
i
i
n
n
n
g
g
g
– Phn 1: Lp


trì
trì
nh


h

ng


đi


t

ng



www.bodua.com
L
L


p
p trì
n
n
h
h
h
h
n
n
g
g
đ
đ


i
i
t
t
n
n
g
g
w

w
w
w
w
w
.
.
b
b
o
o
d
d
u
u
a
a
.
.
c
c
o
o
m
m
- Biên dch chng trình bng cách chn lnh “Build <tên ng dng ca bn>” (Hoc
Build
solution
) trong menu Build. Lúc này Visual studio s tin hành biên dch chng trình ca
bn thành file thi hành trong môi trng Windows (.exe)

- 
thi hành chng trình ca mình, bn ch vic chn lnh “Start without debugging” có
trong menu Debug hoc nhn t hp phím Ctrl+F5, hoc nhn nút
có trên thanh công c.

a c
www.bodua.com
Tài liu tha
m kho : Giáo trình Aptech
Microsoft Development Network




6
N
N
N
g
g
g
u
u
u
y
y
y




n
n
n



M
M
M
a
a
a
i
i
i



H
H
H
u
u
u
y
y
y





×