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