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:
Website:
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
Tổng quan về .Net và C#
6
.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
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
/>
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 />
bb332048(v=vs.90).aspx
q Chỉ cập nhật các kiểu dữ liệu mới
trong .NET 4
q />
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
/>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
Tổng quan về .Net và C#
14
VB.NET và C#
7/5/16
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
15
Tổng quan về .Net và C#
Sự khác nhau …
VB Properties
7/5/16
C# Properties
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