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.
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 Net C# Giới thiệu q Net gì? q C# gì? q Sự khác ngơn ngữ VB C# q Nhắc lại 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 Net C# 7/5/16 .Net gì? q Net tảng, chiến lược dịch vụ Web Micosoft nhằm kết nối thông tin, người, hệ thống thiết bị thông qua phần mềm 7/5/16 Tổng quan Net C# Net 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 phần mềm bảo mật mạnh q Web Windows q Hỗ trợ đầy đủ lập trình hướng đối tượng 7/5/16 Tổng quan Net C# 7/5/16 Biên dịch C# 7/5/16 Tổng quan Net C# Tổng quan Net C# Net 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ữ mà hỗ trọ tần Common Language Runtime (CLR) Specification 7/5/16 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 khác http://en.wikipedia.org/wiki/Microsoft_Visual_Studio 7/5/16 Tổng quan Net C# Net Framework gì? q Cung cấp người dùng 4500 thư viện (class) như: q Thư viện kết nối 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 Net C# 7/5/16 .NET Framework q Cải tiến chức xây dựng trước (Evolution) q Toàn 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 kiểu liệu NET q https://msdn.microsoft.com/en-us/library/ vstudio/ms171868(v=vs.100).asp 7/5/16 Tổng quan Net C# Common Language Runtime (CLR) q Cho phép ngôn ngữ độc lập q Quản lý nhớ (cấp phát giải phóng nhớ) q Tự động thu thập rác với việc loại bỏ trỏ q Không bị nhớ q Điều khiển xử lý ngoại lệ (Exception Handing) q Bảo mật q Chuyển đổi byte code IL thành code runtime 7/5/16 Tổng quan Net C# 10 7/5/16 C# gì? q Là ngơn ngữ lập trình NET Framework q Dựa sở ngôn ngữ C q Hướng đối tượng (Object Oriented) q Xây dựng với ngôn ngữ khác q J# tương tự Java q C++ tương tự C++ q Một ngôn ngữ đại mà không thừa kế từ tảng C++ (header files, syntax) 7/5/16 Tổng quan Net C# 11 C# 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 Net C# 12 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 q C# 2.0 – Mọi thứ khơng tương thích 1.0 q C# 3.0 – LINQ, ngơn ngữ lập trình hướng chức Haskell ML (wikipedia) q C# 4.0 – Lập trình động q C# 5.0 … 7/5/16 Tổng quan Net C# 13 Tổng quan Net C# 14 VB.NET C# 7/5/16 7/5/16 Sự khác hai ngôn ngữ q Khai báo biến (variables) q Phương thức (methods) 7/5/16 15 Tổng quan Net C# Sự khác … VB Properties 7/5/16 C# Properties Tổng quan Net C# 16 7/5/16 Sự khác … q Sự kiện (events) phương thức (methods) 7/5/16 Tổng quan Net C# 17 Visual Studio 2008 7/5/16 Tổng quan Net C# 18 7/5/16 Windows Forms 7/5/16 Tổng quan Net C# 19 Form gì? q Là thành phần giao diện (User Interface Component) q Win Forms cửa sổ thị ứng dụng q Web Forms trang hiển thị trình duyệt 7/5/16 Tổng quan Net C# 20 10 7/5/16 Controls • Textboxes • Buttons • Tool Strip Menu • Picture • Labels 7/5/16 Tổng quan Net C# 21 User Controls q Tái sử dụng tập controls 7/5/16 Tổng quan Net C# 22 11 7/5/16 Events q Hầu hết control có kiện q Clicked q TextChanged q Closing 7/5/16 Tổng quan Net C# 23 Kiến trúc (Architecture) lập trình (Programming) q “Lập trình” q Có thể code ngơn ngữ q “Hiểu NET” q Hiểu NET Framework cơng nghệ q “Kiến trúc” q Để biết cần làm lại 7/5/16 Tổng quan Net 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 Net C# 25 Tại phải lập trình nhiều lớp? q Chia tầng logic tầng truy cập 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 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 Net C# 26 13 7/5/16 Người lập trình người sử dụng 7/5/16 Tổng quan Net 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 Net C# 28 14 7/5/16 Tổng kết q Net gì? q C# gì? q Tổng quan NET q Lập trình hướng đối tượng q Sự khác VB.NET C# q Mô hình lập trình nhiều lớp N-Tier q Demo 7/5/16 Tổng quan Net 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 Net C# 30 15 ... Tổng quan Net C# 28 14 7/5/16 Tổng kết q Net gì? q C# gì? q Tổng quan NET q Lập trình hướng đối tượng q Sự khác VB .NET C# q Mơ hình lập trình nhiều lớp N-Tier q Demo 7/5/16 Tổng quan Net. .. Windows q Hỗ trợ đầy đủ lập trình hướng đối tượng 7/5/16 Tổng quan Net C# 7/5/16 Biên dịch C# 7/5/16 Tổng quan Net C# Tổng quan Net C# Net gì? q Ngôn ngữ độc lập q VB q? ?C# q F# q C++ q IronPython... ngữ lập trình hướng chức Haskell ML (wikipedia) q C# 4.0 – Lập trình động q C# 5.0 … 7/5/16 Tổng quan Net C# 13 Tổng quan Net C# 14 VB .NET C# 7/5/16 7/5/16 Sự khác hai ngôn ngữ q Khai báo biến