Bài giảng Lập trình Net với C# - Chương 1: Tổng quan về Net và C# giúp các bạn hiểu được .Net là gì, C# là gì? Sự khác nhau giữa ngôn ngữ VB và C#, nhắc lại về lập trình hướng đối tượng (OOP), thiết kế ứng dung nhiều tầng (N-Tier), demo: Tạo ứng dụng WinForms.
Trang 1TỔ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
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
Trang 2.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
.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
Trang 3Biên dịch C#
.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
Trang 4Lị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
.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)
Trang 5.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
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
Trang 6C# 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)
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 ;
}
Trang 7Lị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 …
VB.NET và C#
Trang 8Sự khác nhau giữa hai ngôn ngữ
q Khai báo biến (variables)
q Phương thức (methods)
Sự khác nhau …
Trang 9Sự khác nhau …
q Sự kiện (events) và phương thức (methods)
Visual Studio 2008
Trang 10Windows Forms
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
Trang 11Controls
• Textboxes
• Buttons
• Tool Strip
Menu
• Picture
• Labels
User Controls
q Tái sử dụng tập các controls
Trang 12Events
q Hầu hết các control có các sự kiện như
q Clicked
q TextChanged
q Closing
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
Trang 13Kiến trúc ứng dụng nhiều tầng N-Tier
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 Phát triển theo nhóm
Trang 14Người lập trình và người sử dụng
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
Trang 15Tổ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
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