Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
2,29 MB
Nội dung
Nguyễn Văn Phong - 2010 Nguyễn Văn Phong Nguyễn Văn Phong - 2010 Nội dung !""!# $ %&! '# (## )## *+ ,-!./# )## * 012#3#45!+ $ 1!"6+ 7 89!!:;# 2#+ < :;# 2#+.;# =# 2 Nguyễn Văn Phong - 2010 .NET Framework :;# 2##>#=# ! !!)# # # !8&?&@&!"%% "A:B# 4C# 0=#"D%EE!!F!1! !:;# 2# 3 Common Language Runtime Common Language Runtime Base Framework Classes Base Framework Classes Data and XML Classes Data and XML Classes Custom Classes Custom Classes C# VB.NET J# C++ … C# VB.NET J# C++ … XML Web XML Web Service Service Web Web Forms Forms Windows Windows Forms Forms ASP.NET ASP.NET Nguyễn Văn Phong - 2010 .NET Framework - Architechture ## #G%!HI &J4"# K #"&"GG &&"!#4J"&# #4L!# 4 Nguyễn Văn Phong - 2010 .NET Framework 5 .NET 1.1 .NET 1.1 (Apr-2003) VS .NET 2003 Default: Server 2003 .NET 3.5 .NET 3.5 (Nov-2007) VS.NET 2008 Default: Windows 7 .NET 3.0 .NET 3.0 (Nov-2006) Default: Windows Vista, Server 2008 .NET 2.0 .NET 2.0 (Nov-2005) VS.NET 2005 . . NET 1.0 NET 1.0 (Feb-2002) Nguyễn Văn Phong - 2010 Đặc điểm của ứng dụng .NET 6A3##>#HGI M# N#.:@!3#45!( .:@!)# 45!(M1A"9!E!#B JO ,P!"?&#>#=# Q>"DAR!S/!6A3#T#>#U #%""4%&!4 H4#GLLI./!6AV# 4W# 3#1A !"# 6 Nguyễn Văn Phong - 2010 Đặc điểm của ứng dụng .NET 7 MS IL CLR C++ Compiler C# Compiler J# .NET Compiler CT C#.NET CT VB.NET CT C++.NET CT J#.NET VB .NET Compiler 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 Programmer Programmer Nguyễn Văn Phong - 2010 .NET Framework - CLR (#./!F# :B"?&2#!S/ /#:):B# E!JO:J#"& !;%X!=R# ):B# E!"OY## #K QZ![#Y"!"4# A&% !Z#(=#"D#*# &\#XV!8&#:Y A# #%!A!! 8 Nguyễn Văn Phong - 2010 .NET Framework - CTS #A&A%HIY W!.[!]@E!!^# )## * ,5## _/4*">#.5#JO!S%`## Y 8!=# )## *%a.:@!%#M!b3#!;%X/ 4*"#OA 9 # #$ #$ # # VB.NET IL C# Nguyễn Văn Phong - 2010 . NET Framework - CLS ## &!c!#Y ,==%EE!!^ 8!=!&":# .>&=d#F S/JRM##K#:# %a.==E!!^ &d#"6DEQe&d#1f# !&^&.5#4#!g1!#J>/DE4.S Qe!S/6.P# # 10 C# C# VB.NET VB.NET [...]... C thể gọi GC một c ch tường minh Nguyễn Văn Phong - 2010 16 Namespace Namespace CS1 Class A Class B Class C Tránh xung đột tên Cho phép nest Truy c p đầy đủ qua tên Tất c data type c tiếp đầu ngữ là tên namespace Namespace CS2 Class A Class B CS1.A… Class C CS2.A… Nguyễn Văn Phong - 2010 17 Namespace Hầu hết c c lớp c sở chung c a NET đều thu c namespace System Lớp CS Array thu c. .. attributes and reflection WinOS access COM interoperability Nguyễn Văn Phong - 2010 21 Framework (Base) Class Library Thư viện nền tảng cho NET Framework C c namespace c bản c a FCL/BCL Namespace Description System Chứa lớp toán h c, chuyển đổi dữ liệu System.IO C c lớp cho thao t c Input và Output System.Net C c lớp liên quan đến network protocol System.Collections Ch c c c lớp liên quan đến xử lý... tảng cho ứng dụng mới c a MS Tất c c c chương trình viết bằng ngôn ngữ kh c nhau (trên NET) sẽ đư c chuyển về mã thống nhất MSIL Cho phép th c thi chéo giữa c c ngôn ngữ Khái niệm Managed Code C chế thu gom vùng nhớ tự động C c lớp thư viện NET phong phú & mạnh mẽ Namespace giúp tổ ch c tốt mã nguồn Nguyễn Văn Phong - 2010 24 Nguyễn Văn Phong - 2010 25 Ngôn ngữ C# Ngôn ngữ ra đời c ng... trình dịch CT C# Mã nguồn C# (tập tin *.cs) đư c biên dịch qua MSIL MSIL: tập tin exe ho c dll MSIL đư c CLR thông dịch qua mã máy Dùng kỹ thuật JIT (just-in-time) để tăng t c độ Nguyễn Văn Phong - 2010 32 Quá trình dịch CT C# CLR trên Linux Hello.cs C# Compiler Hello.exe ho c Hello.dll MSIL Nguyễn Văn Phong - 2010 Th c thi trên Linux CLR trên Windows Th c thi trên Windows CLR trên MacOS Th c thi... exception Đoạn mã bị lỗi sẽ không đư c th c thi Type – safe Không cho gán c c kiểu dữ liệu kh c nhau Versioning Đảm bảo sự tương thích giữa lớp con và lớp cha Nguyễn Văn Phong - 2010 29 Vai trò C# trong NET Framework NET runtime sẽ phổ biến và đư c cài trong máy client Vi c cài đặt App C# như là tái phân phối c c thành phần NET Nhiều App thương mại sẽ đư c cài đặt bằng C# C# tạo c ... Khá đa dạng & đầy đủ: Cho phép kế thừa để phát triển UD Bao b c tất c c c hàm API Dễ sử dụng (kh c với VC++ trư c đây) Nguyễn Văn Phong - 2010 20 C c lớp NET Framework C c lớp NET bao gồm c c vấn đề Đ c tính lõi cung c p IL, kiểu dữ liệu trong CTS Hỗ trợ Win GUI và control WebForm (ASP.NET) Data Access (ADO.NET) Directory Access File System, registry access Networking and web... C# C# tạo c hội cho tổ ch c xây dựng c c App Client/Server n-tier Kết nối ADO.NET cho phép truy c p nhanh chóng & dễ dàng với SQL Server, Oracle… Nguyễn Văn Phong - 2010 30 Vai trò C# trong NET Framework C ch tổ ch c NET cho phép hạn chế những vấn đề phiên bản Loại bỏ “DLL Hell”… ASP.NET viết bằng C# GUI thông minh Chạy nhanh hơn (đ c tính c a NET) Mã ASP.NET ko c n là mới hỗn độn... hợp C+ + và Java Hướng đối tượng Hướng thành phần Mạnh mẽ (robust) và bền vững (durable) Anders Hejlsberg và MS team xây dựng C# Nguyễn Văn Phong - 2010 26 Ngôn ngữ C# Mọi thứ trong C# đều Object oriented Kể c kiểu dữ liệu c bản Chỉ cho phép đơn kế thừa Dùng interface để kh c ph c Lớp Object là cha c a tất c c c lớp Mọi lớp đều dẫn xuất từ Object Nguyễn Văn Phong - 2010 27 Ngôn ngữ. .. C c lớp c a ADO.NET System.Drawing C c lớp th c thi ch c năng GUI System.Threading C c lớp lập trình MultiThread System.Web C c lớp liên quan đến HTTP protocol System.Xml C c lớp liên quan XML Nguyễn Văn Phong - 2010 22 Run NET App from Client Required MS NET Framework compatible MS NET Framework 2.0, 3.5 Install NET 3.5 Full Redistributable package (dotnetfx35.exe, 197MB) Windows Vista comes... Modules Chứa IL code để th c thi Chứa resource, metadata… s As T NE bl y em Portable Executable (PE) Process assembly (EXE) Library assembly (DLL) Nguyễn Văn Phong - 2010 13 Managed Code Phần mềm đư c viết để sử dụng trong NET Framework PM kh c thì gọi là Unmanaged code “Managed”: do chạy dưới sự giám sát c a c chế th c thi (CLR) Legacy Software (unmanaged code) Managed Executable Common . Phong - 2010 Đ c điểm c a ứng dụng .NET 7 MS IL CLR C+ + Compiler C# Compiler J# .NET Compiler CT C# .NET CT VB .NET CT C+ + .NET CT J# .NET VB .NET Compiler 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 Programmer Programmer Nguyễn. Runtime Common Language Runtime Base Framework Classes Base Framework Classes Data and XML Classes Data and XML Classes Custom Classes Custom Classes C# VB .NET J# C+ + … C# VB .NET J# C+ + … XML. !""! # $ %&! &apos ;# ( # # )# # *+ ,-!./ # )# # * 01 2# 3# 45!+ $ 1!"6+ 7 89!!: ;# 2# + < : ;# 2# +. ;# =# 2 Nguyễn