1. Trang chủ
  2. » Thể loại khác

P1- Tong quan .NET va C# 2009 docx

51 617 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 51
Dung lượng 1,77 MB

Nội dung

TỔNG QUAN .NET NGÔN NGỮ C# ThS. Nguyễn Hà Giang Nguyen Ha Giang - 2009 Nội dung 2 1. Giới thiệu .NET Framework 1. CLR, CTS, CLS, MSIL… 2. Garbage collection 3. Namespace 2. Tổng quan ngôn ngữ C# 1. Đặc điểm ngôn ngữ 2. Quá trình biên dịch CT C# 3. Các loại CT C# 4. Cấu trúc chương trình C# 5. Chương trình C# đơn giản Nguyen Ha Giang - 2009 .NET Framework 3  Chương trình nền tảng cho cho công nghệ .NET  Cung cấp tập hợp class library thường dùng  Quản lý sự thực thi của các chương trình .NET 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 Nguyen Ha Giang - 2009 .NET Framework - Architechture  Common Language Infrastructure (CLI)  provide a language- neutral platform for application development and execution 4 Nguyen Ha Giang - 2009 .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) Nguyen Ha Giang - 2009 Đặc điểm của ứng dụng .NET 6  Chạy trên nền (.NET framework)  Mã nguồn được biên dịch qua MSIL  MSIL được thông dịch qua mã máy lúc thực thi nhờ vào CLR  Độc lập nền tảng  Về lý thuyết có thể chạy trên mọi nền!  Install .NET Framework redistribute packadge (dotnetfx.exe) để chạy ứng dụng .NET trên máy client. Nguyen Ha Giang - 2009 Đặ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 Nguyen Ha Giang - 2009 .NET Framework - CLR 8  Theo quan điểm của người lập trình, .NET có thể hiểu như môi trường thực thi mới và thư viện lớp cơ sở cải tiến.  Môi trường thực thi là: Common Language Runtime - CLR  Vai trò chính CLR: locate, load, manage .NET types  CLR còn quản lý những phần ở mức thấp như: memory management, security check Nguyen Ha Giang - 2009 .NET Framework - CTS 9  Common Type System (CTS):  Mục đích hỗ trợ thực thi chéo ngôn ngữ  Định nghĩa kiểu dữ liệu tiền định và có sẵn trong IL:  Tất cả ngôn ngữ .NET sẽ được sinh ra mã cuối trên cơ sở kiểu dữ liệu này … Integer … … Integer … … Int32 … … Int32 … … int … … int … VB.NET IL C# Nguyen Ha Giang - 2009 . NET Framework - CLS 10 CLR/ CTS/IL C++ C# Visual Basic CLS CLS is the smallest common denominator of various OO- languages. FCL only uses CLS features. [...]... Oracle… Nguyen Ha Giang - 2009 Vai trò C# trong NET Framework 32  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  Khả năng bẫy lỗi tốt, hỗ trợ mạnh trong quá trình xây dựng App Web Nguyen Ha Giang - 2009 Quá trình dịch CT C# 33  Mã nguồn C# (tập tin *.cs) được... & mạnh mẽ Namespace giúp tổ chức tốt mã nguồn Nguyen Ha Giang - 2009 26 Nguyen Ha Giang - 2009 Ngôn ngữ C# 27  Ngôn ngữ ra đời cùng với NET  Kết 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# Nguyen Ha Giang - 2009 Ngôn ngữ C# 28  Mọi thứ trong C# đều Object oriented  Kể  cả kiểu dữ liệu cơ bản Chỉ cho phép... mã non-CLS nhưng sẽ ko đảm bảo thực thi chéo  IL phân biệt loại ký tự, VB.NET ko phân biệt, CLS báo rằng ko cho phép 2 định danh chỉ khác nhau về kiểu ký tự, do đó VB.NET có thể hoạt động trong CLS  C# C# Nguyen Ha Giang - 2009 VB.NET VB.NET MS Intermediate Language 12  IL  Abstracted assembly language  Ý tưởng về mã Java byte  Mã cấp thấp cú pháp đơn giản ⇒ quá trình dịch sang mã máy nhanh hơn... nhau Versioning  Đảm Nguyen Ha Giang - 2009 bảo sự tương thích giữa lớp con và lớp cha Vai trò C# trong NET Framework 31  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ơ 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ễ... lớp cho thao tác Input và Output System.Net Các lớp liên quan đến network protocol System.Collection s Chức các lớp liên quan đến xử lý tập hợp System.Data 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 Nguyen Ha Giang - 2009 Run NET App from Client 24  Required... Lang uag Runtime Windo ws (OS khác ) Nguyen Ha Giang - 2009 Garbage collection 16 class myClass{ class myClass{ void Method(){ void Method(){ variable v1; variable v1; variable v2; variable v2; } } } } B A do{ do{ … … E C D A và D sẽ bị xoá do A và D sẽ bị xoá do ko còn tham chiếu ko còn tham chiếu hay truy cập tới hay truy cập tới Nguyen Ha Giang - 2009 Managed Heap Garbage collection 17    GC xuất... - 2009 kỹ thuật JIT (just-in-time) để tăng tốc độ Quá trình dịch CT C# 34 CLR trên CLR trên Linux Linux He llo c ss He llo c C# Co mpile rr C# Co mpile Hello.exe Hello.exe hoặc hoặc Hello.dll Hello.dll MSIL Nguyen Ha Giang - 2009 Thực thi Thực thi trên Linux trên Linux CLR trên CLR trên Windows Windows Thực thi Thực thi trên trên Windows Windows CLR trên MacOS Thực thi trên MacOS Các loại ứng dụng C#. .. Nguyen Ha Giang - 2009 Common Language Runtime compilation 13 S o urc S o urc e e Co de Co de As sse mbly As e mbly Compiler csc.exe or vbc.exe C++, C#, VB or any NET language Nguyen Ha Giang - 2009 DLL or EXE Assembly 14  Managed Modules  Chứa   IL code để thực thi Chứa resource, metadata… Portable Executable (PE)  Process assembly (EXE)  Library assembly (DLL) Nguyen Ha Giang - 2009 E N As T s... đây) Nguyen Ha Giang - 2009 Các lớp NET Framework 22  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 browsing  NET attributes and reflection  WinOS access  COM interoperability  Nguyen Ha Giang - 2009 Framework (Base) Class... Mọi lớp đều dẫn xuất từ Object Nguyen Ha Giang - 2009 Ngôn ngữ C# 29      Cho phép chia chương trình thành các thành phần nhỏ độc lập nhau Mỗi lớp gói gọn trong một file, không cần file header như C/C++ Bổ sung khái niệm namespace để gom nhóm các lớp Bổ sung khái niệm "property" cho các lớp property Khái niệm delegate & event Nguyen Ha Giang - 2009 C# - mạnh mẽ & bền vững 30  Garbage Collector . 4 Nguyen Ha Giang - 2009 .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:. 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 Nguyen Ha Giang - 2009 .NET Framework - CLR 8  Theo quan điểm. Windows Vista, Server 2008 .NET 2.0 .NET 2.0 (Nov-2005) VS .NET 2005 . . NET 1.0 NET 1.0 (Feb-2002) Nguyen Ha Giang - 2009 Đặc điểm của ứng dụng .NET 6  Chạy trên nền ( .NET framework)  Mã nguồn

Ngày đăng: 10/08/2014, 02:22

TỪ KHÓA LIÊN QUAN

w