7/5/16
TỔNG QUAN VỀ .NET VÀ C#
PHAN TRỌNG TIẾN BM Công nghệ phần mềm Khoa Công nghệ thông tin, VNUA Email: phantien84@gmail.com Website: http://timoday.edu.vn
7/5/16 Tổng quan về .Net và C#
1
Giới thiệu
q .Net là gì? q C# là gì? q Sự khác nhau giữa ngôn ngữ VB và C# q Nhắc lại về lập trình hướng đối tượng (OOP) q Thiết kế ứng dung nhiều tầng (N-Tier) q Demo: Tạo ứng dụng WinForms
7/5/16 Tổng quan về .Net và C#
2
1
7/5/16
.Net là gì?
q .Net là một nền tảng, chiến lược các dịch vụ Web của Micosoft nhằm kết nối thông tin, con người, hệ thống và các thiết bị thông qua phần mềm
7/5/16 Tổng quan về .Net và C#
3
.Net là gì?
q Nền tảng phát triển ứng dụng từ Micrsoft
q Runtime (Virtual machine) q Tools q Ngôn ngữ phát triển, IDE,...
q Tạo ra các phần mềm bảo mật và mạnh
q Web và Windows
q Hỗ trợ đầy đủ lập trình hướng đối tượng
7/5/16 Tổng quan về .Net và C#
4
2
7/5/16
Biên dịch C#
7/5/16 Tổng quan về .Net và C#
5
.Net là gì?
q Ngôn ngữ độc lập
q VB q C# q F# q C++ q IronPython q Bất kỳ ngôn ngữ nào mà
được hỗ trọ bởi tần Common Language Runtime (CLR) Specification
7/5/16 Tổng quan về .Net và C#
6
3
7/5/16
Lịch sử phát triển
q 2002 - .Net 1.0 / Visual Studio.Net q 2003 - .Net 1.1 / Visual Studio 2003 q 2005 - .Net 2.0 / Visual Studio 2005 q 2007 - .Net 3.5 / Visual Studio 2008 q 2008 - .Net 3.5sp1 (added EDMX) q 2002 - .Net 4.0 / VS.Net 2010 q Các phiên bản khác
http://en.wikipedia.org/wiki/Microsoft_Visual_Studio
7/5/16 Tổng quan về .Net và C#
7
.Net Framework là gì?
q Cung cấp người dùng hơn 4500 thư viện (class) như:
q Thư viện kết nối và truy cập CSDL (ADO.Net) q Giao diện người dùng (WinForms, WPF) q Các ứng dụng Web (ASP.NET, Silverlight) q Network Communication (WCF) q Workflow (WF)
7/5/16 Tổng quan về .Net và C#
8
4
7/5/16
.NET Framework
q Cải tiến các chức năng đã xây dựng trước đây (Evolution) q Toàn bộ các thư
viện .NET FX 3.5 q https://msdn.microsoft.com/en-us/library/
bb332048(v=vs.90).aspx
q Chỉ cập nhật các kiểu dữ liệu mới
trong .NET 4 q https://msdn.microsoft.com/en-us/library/
vstudio/ms171868(v=vs.100).asp
7/5/16 Tổng quan về .Net và C#
9
Common Language Runtime (CLR)
q Cho phép các ngôn ngữ độc lập q Quản lý bộ nhớ (cấp phát và giải phóng bộ nhớ) q Tự động thu thập rác với việc loại bỏ con trỏ
q Không bị mất bộ nhớ
q Điều khiển xử lý ngoại lệ (Exception Handing) q Bảo mật q Chuyển đổi các byte code IL thành code runtime
7/5/16 Tổng quan về .Net và C#
10
5
7/5/16
C# là gì?
q Là ngôn ngữ lập trình chính trong .NET Framework q Dựa trên cơ sở ngôn ngữ C
q Hướng đối tượng (Object Oriented)
q Xây dựng cùng với các ngôn ngữ khác
q J# tương tự như Java q C++ tương tự như C++
q Một ngôn ngữ hiện đại mà không thừa kế từ nền tảng của C++
(header files, syntax)
7/5/16 Tổng quan về .Net và C#
11
C# cơ bản
q Khai báo biến
bool isVeryLong;
q Gán biến
isVeryLong = false; q Các câu lệnh điều khiển
If (yourInput.Length > 10) {
isVeryLong = true;
}
7/5/16 Tổng quan về .Net và C#
12
6
7/5/16
Lịch sử C# - Anders Hejlsberg
q Xem Anders Hejblsberg
http://en.wikipedia.org/wiki/Anders_Hejlsberg
q C# 1.0 – Phiên bản đầu tiên q C# 2.0 – Mọi thứ được không tương thích 1.0 q C# 3.0 – LINQ, ngôn ngữ lập trình hướng chức năng như
Haskell và ML (wikipedia)
q C# 4.0 – Lập trình động q C# 5.0 …
7/5/16 Tổng quan về .Net và C#
13
VB.NET và C#
7/5/16 Tổng quan về .Net và C#
14
7
7/5/16
Sự khác nhau giữa hai ngôn ngữ
q Khai báo biến (variables)
q Phương thức (methods)
7/5/16 Tổng quan về .Net và C#
15
Sự khác nhau …
VB Properties
C# Properties
7/5/16 Tổng quan về .Net và C#
16
8
7/5/16
Sự khác nhau …
q Sự kiện (events) và phương thức (methods)
7/5/16 Tổng quan về .Net và C#
17
Visual Studio 2008
7/5/16 Tổng quan về .Net và C#
18
9
7/5/16
Windows Forms
7/5/16 Tổng quan về .Net và C#
19
Form là gì?
q Là một thành phần giao diện (User Interface Component)
q Win Forms là một cửa sổ được hiện thị như một ứng dụng q Web Forms là một trang được hiển thị trên trình duyệt
7/5/16 Tổng quan về .Net và C#
20
10
7/5/16
Controls • Textboxes • Buttons • Tool Strip Menu • Picture • Labels
7/5/16 Tổng quan về .Net và C#
21
User Controls
q Tái sử dụng tập các controls
7/5/16 Tổng quan về .Net và C#
22
11
7/5/16
Events
q Hầu hết các control có các sự kiện như
q Clicked q TextChanged q Closing
7/5/16 Tổng quan về .Net và C#
23
Kiến trúc (Architecture) và lập trình (Programming) q “Lập trình”
q Có thể code bằng ngôn ngữ đó
q “Hiểu .NET”
q Hiểu .NET Framework và công nghệ của nó
q “Kiến trúc”
q Để biết khi nào và cái gì cần làm và tại sao lại như vậy
7/5/16 Tổng quan về .Net và C#
24
12
7/5/16
Kiến trúc ứng dụng nhiều tầng N-Tier
7/5/16 Tổng quan về .Net và C#
25
Tại sao phải lập trình nhiều lớp?
q Chia tầng logic và tầng truy cập dữ liệu từ tầng giao diện
q Để dễ bảo trì q Chi phí kết nối thấp
q Module hoá/ tái sử dụng tầng bussiness
q Để thêm các giao diện phức tạp
q Web UI q Smart Phone UI q Phát triển theo nhóm
7/5/16 Tổng quan về .Net và C#
26
13
7/5/16
Người lập trình và người sử dụng
7/5/16 Tổng quan về .Net và C#
27
Tóm tắt WPF
q Windows Presentation Foudation q Rich Windows Applications q Great Archirecture + Great Graphics q Rapid Prototyping q 2D, 3D, Vector, Document Flow, Layouts, Composition, v.v
7/5/16 Tổng quan về .Net và C#
28
14
7/5/16
Tổng kết
q .Net là gì? q C# là gì? q Tổng quan về .NET q Lập trình hướng đối tượng q Sự khác nhau giữa VB.NET và C# q Mô hình lập trình nhiều lớp N-Tier q Demo
7/5/16 Tổng quan về .Net và C#
29
Bài tập
q Cài Visual Studio 2008 q Làm quen với tạo Form, Menu, tạo Control, Sự kiện điều
khiển
7/5/16 Tổng quan về .Net và C#
30
15

