Bài giảng .Net framework 3.5

Phần 1.

Introducing ASP.NET AJAX (part 1 trong giáo trình)

Microsoft AJAX Library (part 2 trong giáo trình)

 

Introducing ASP.NET AJAX

 

Phần này giới thiệu cho sinh viên tổng quan về ASP.NET AJAX. Vì trong khoảng thời gian có hạn của chương trình dạy, không thể giảng cho sinh viên từ phần ASP.NET nên trước khi vào nội dung chính giáo viên có thể nên giới thiệu qua về ASP.NET để sinh viên có thể hiểu được nội dung chương này.

 

Các nội dung chính cần truyền đạt cho sinh viên:

- What is Ajax?

Giới thiệu cho sinh viên khái niệm AJAX. Ajax là một kỹ thuật phát triển web có tính tương tác cao bằng cách kết hợp các ngôn ngữ: HTML (hoặc XHTML) với CSS trong việc hiển thị thông tin; Mô hình DOM (Document Object Model), được thực hiện thông qua JavaScript, nhằm hiển thị thông tin động và tương tác với những thông tin được hiển thị, Đối tượng XMLHttpRequest để trao đổi dữ liệu một cách không đồng bộ với máy chủ web. (Mặc dù, việc trao đổi này có thể được thực hiện với nhiều định dạng như HTML, văn bản thường, JSON và thậm chí EBML, nhưng XML là ngôn ngữ thường được sử dụng); XML thường là định dạng cho dữ liệu truyền, mặc dầu bất cứ định dạng nào cũng có thể dùng, bao gồm HTML định dạng trước, văn bản thuần (plain text), JSON và ngay cả EBML. Giáo viên cần nhấn mạnh cho sinh viên Ajax tự nó không phải là một công nghệ mà là một thuật ngữ mô tả việc sử dụng kết hợp một nhóm nhiều công nghệ với nhau.

 

doc53 trang | Chia sẻ: maiphuongdc | Lượt xem: 2609 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng .Net framework 3.5, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
cách “bắt” các sự kiện liên quan đến ứng dụng. Ví dụ: Activated Event Deactivated Event SessionEnding Event Supporting Application-Level Navigation Events: Navigating NavigationProgress Navigated LoadCompleted Giáo viên nên hướng dẫn sinh viên bằng cách demo trên Visual Studio hoặc qua video. Window Management Using the Window Object Using the NavigationWindow Object Using the Page Object Trình bày cho sinh viên cách sử dụng một số đối tượng khác trong Window Management. Building Your First WPF Application Phần này giáo viên demo cho sinh viên cách tạo một ứng dụng WPF với Visual Studio. Giáo viên cần giới thiệu cho sinh viên khi nhìn thấy trực quan từng bước khi tạo một ứng dụng WPF. Sinh viên cần nắm được các file được tạo ra khi tạo một ứng dụng WPF. Phần 3. Exploring the Layout Controls (part 5 trong giáo trình) Working with XAML Controls (part 6 trong giáo trình) Các nội dung cần truyền đạt cho sinh viên: Exploring the Layout Controls Bản chất của WPF là tạo giao diện tương tác người dùng nên layout tool là một phần rất quan trọng. Một số kiểu layout cơ bản: A StackPanel A DockPanel A Grid A Canvas A WrapPanel Giáo viên hướng dẫn sinh viên thấy được đặc điểm của từng loại, gợi ý các trường hợp sử dụng từng loại panel. Cách truyền đạt tốt nhất là giáo viên demo trực tiếp trên Visual Studio hoặc video. Working with XAML Controls Một phần rất quan trọng nữa trong phần thiết kế giao diện là các control. Ở đây là các XAML control. Giáo viên cần hướng dẫn cho sinh viên cách sử dụng một số control cơ bản thường gặp như là: Button Control CheckBox Control ComboBox Control Giáo viên nên hướng dẫn thật cẩn thận một vài control. Từ cách thiết kế các thuộc tính giao diện đến “bắt” các sự kiện. Có thể hướng dẫn trên Visual Studio. Chẳng hạn với ComboBox Control: Giáo viên hướng dẫn sinh viên cách thêm dữ liệu vào trong control. Ở đây có thể sử dụng mã XAML. Giáo viên chỉ cho sinh viên cách xem mã XAML của control để thêm các tùy biến của mình vào. Giáo viên hướng dẫn sinh viên cách “bắt” một số sự kiện tiêu biểu của comboBox, ví dụ: DropDownOpened Event DropDownClosed Event Handling Selection Changes Handling Mouse Moves Có thể có một số sinh viên chưa nắm được khái niệm “bắt” sự kiện, giáo viên nên giới thiệu qua và chỉ ra trên ngay trên ví dụ cách thực thi của việc “bắt” sự kiện. Performing Data Binding with XAML Controls Giáo viên trình bày cho sinh viên khái niệm data binding. Đây là một vấn đề khá quan trọng trong lập trình ứng dụng. Khi ứng dụng của chúng ta làm việc với các nguồn dữ liệu thì cần phải binding nó với các control để tương tác với người sử dụng. Một số nội dung cần truyền đạt đến sinh viên: XML Binding Binding từ dữ liệu XML. Một đặc tính rất mạnh của binding dữ liệu trong WPF là khả năng binding một hay nhiều control đến nguồn dữ liệu XML. Object Data Source Binding Binding dữ liệu từ cơ sở dữ liệu. Đây là công việc truyền thống mà rất nhiều lập trình viên phát triển ứng dụng phải thực hiện. Trong phần này giáo viên nên hướng dẫn cụ thể cho sinh viên qua Visual Studio hay qua video. Phần 4. Working with Graphics, Media and Animations (part 7 trong giáo trình) New in WPF 3.5 (part 8 trong giáo trình) Future Directions of WPF (part 9 trong giáo trình) Các nội dung cần truyền đạt cho sinh viên: Working with Graphics, Media and Animations Introducing the Graphics APIs WPF cung cấp một thư viện các hàm API hỗ trợ các xử lý đồ họa. Giáo viên hướng dẫn cho sinh viên cách sử dụng một số hàm API cơ bản: Brushes Shapes Transformations Imaging Animations Using Multimedia Nhấn mạnh core của Multimedia trong WPF nằm trong lớp MediaElement . Giáo viên hướng dẫn sinh viên cách sử dụng lớp MediaElement qua một ví dụ cụ thể. Working with Animation Đây là phần hướng dẫn cách làm việc với animation. Các nội dung cần truyền tải đến cho sinh viên bao gồm: Understanding the Animation Types Using Keyframe-Based Animation Animations Using Storyboards and TimeLine Classes Working with Animation and Timelines with Interactive Designer Assigning Animations to Events in Interactive Designer Animation là một phần tương đối lạ đối với nhiều sinh viên. Giáo viên cần giải thích rõ cho sinh viên các loại animation, khái niệm keyframe và timeline. Có thể gợi ý cho sinh viên liên tưởng đến cách làm Flash để dễ hình dung hơn. Trong phiên bản Visual Studio 2008, giáo viên hướng dẫn sinh viên cách làm việc với animation trong Interactive Designer, cách gán các animation cho các sự kiện. Giáo viên có thể sử dụng một sản phẩm đã chuẩn bị trước từ nhà để demo cho sinh viên thấy tính hấp dẫn của đặc tính hỗ trợ animation mạnh mẽ của WPF. New in WPF 3.5 (part 8 trong giáo trình) Phần này sẽ trình bày các điểm mới của WPF trong .Net framework 3.5. So sánh WPF trong phiên bản .Net framework 3.5 với WPF trong phiên bản .Net framework 3.0. Một số nét mới có thể giới thiệu với sinh viên gồm có: Applications Graphics 3-D Graphics Data Binding Controls Documents Annotations Trong phần này giáo viên có thể yêu cầu sinh viên về nhà tìm hiểu thêm các đặc điểm mới của WPF 3.5. Có thể yêu cầu sinh viên kiểm chứng bằng lập trình thực tế, cũng có thể hình thành các nhóm thực nghiệm, kiểm tra các đặc điểm mới của WPF 3.5. Future Directions of WPF Phần cuối cùng sẽ trình bày một số hướng phát triển tương lai của WPF. Các nội dung cần trình bày cho sinh viên gồm có: Advantages and Disadvantage WPF Phân tích một số ưu điểm và khuyết điểm của WPF để từ đó dễ dàng hơn trong việc đánh giá các xu thế tương lai của công nghệ này. WPF and Windows Vista Window Vista là hệ điều hành window mới nhất của Microsoft. Việc đánh giá WPF và Window Vista là một nội dung cần thiết. WPF and XAML WPF and Silverlight Silverlight là một công nghệ Là một plug-in của trình duyệt, Silverlight mang sức mạnh âm thanh và video cải tiến đến với các ứng dụng Web. Nó cũng được coi là lời phúc đáp của Microsoft với công nghệ Flash đang rất phổ biến của đối thủ Adobe. WPF và Silverlight liên hệ mật thiết với nhau. Phần giới thiệu Silverlight và WPF sẽ giúp sinh viên tiếp cận với một công nghệ mới, đầy tiềm năng. Thực hành: Lab 5. Bài tập về nhà: Exercise 5. CHƯƠNG 6 Windows Communication Foundation Chương này trình bày công nghệ Windows Communication Foundation (WCF) là một bộ công cụ hỗ trợ thực hiện ứng dụng theo kiến trúc hướng dịch vụ (SOA). WCF được xuất hiện từ phiên bản 3.0 và cũng giống như WPF nó vẫn là một thành phần quan trọng trong phiên bản .Net framework 3.5. Nội dung của chương này bao gồm giới thiệu về WCF, cách sử dụng WCF, trình bày một số điểm mới của WCF trong phiên bản .Net framework 3.5. Kế hoạch giảng Đây là chương có nội dung khá dài, giáo viên nên tách thành 2 phần. Mỗi phần sẽ giảng trong thời gian 3 tiết. Phần 1. Introduction (part 1 trong giáo trình) Programming Model (part 2 trong giáo trình) Introduction Các nội dung cần truyền đạt cho sinh viên: Đây là phần giới thiệu, giúp sinh viên có được cái nhìn tổng quan về WCF. Giáo viên cần trình bày cho sinh viên các nội dung: WCF là gì? Tại sao nên sử dụng WCF? Lợi ích của việc sử dụng công nghệ này? What is WCF? Cần nhấn mạnh lại cho sinh viên, WCF là một bộ công cụ dùng để phát triển nhanh các ứng dụng theo kiến trúc hướng dịch vụ. WCF Design Goals Basic conceptions: Trình bày một số khái niệm cơ bản trong kiến trúc hướng dịch vụ của WCF. Các khái niệm bao gồm: WCF Clients and Services WCF Message Patterns WCF Messaging and Endpoints Address, Binding, Contract Messaging Runtime Cần làm rõ cho sinh viên hiểu quá trình truyền message giữa client và server. Cấu trúc của message và message runtime. WCF Communication Protocols: Trình bày các giao thức truyền thông của WCF. Nhấn mạnh WCF có thể hỗ trợ nhiều giao thức truyền thông: HTTP, TCP, MSMQ..., hỗ trợ encoding đối với message. WCF Architecture: Giáo viên trình bày cho sinh viên kiến trúc của WCF. Có thể cho sinh viên quan sát rồi trả lời các thành phần chính trong kiến trúc. Cuối cùng giáo viên đưa ra kết luận các thành phần chính trong kiến trúc WCF: WCF Contracts WCF Policies and Bindings WCF Service Runtime WCF Messaging Channels WCF Hosting and Activation Programming Model Phần này trình bày mô hình lập trình với WCF. From Objects to Services: OO or SO Giáo viên xuất phát từ mô hình lập trình hướng đối tượng (Object – Oriented) cho đến lập trình hướng dịch vụ (Service – Oriented) để trình bày cho sinh viên thấy đặc điểm của từng mô hình lập trình, xu thế hiện nay. Các mô hình lập trình có thể kể ra gồm có: Object-Oriented: với đặc trưng là Polymorphism, Encapsulation, Subclassing Component-Based: với đặc trưng là Interface-based, Dynamic Loading, Runtime Metadata Service-Oriented: với đặc trưng là Message-based, Schema+Contract, Binding via Policy WCF Programming Phần này hướng dẫn cách lập trình với WCF. Giáo viên nhấn mạnh các bước lập trình ứng dụng với WCF: Create a WCF Service Adapt and Configure the Service Contract Run the Service Create a WCF Client Configure the WCF Client Use the WCF Client Với mỗi bước, giáo viên nên có những hướng dẫn bằng hình ảnh cụ thể hoặc demo qua Visual Studio hay video. Phần 2. New in .NET framework 3.5 (part 3 trong giáo trình) HTTP programming Model (part 4 trong giáo trình) New in .NET framework 3.5 Phần này trình bày các điểm mới của WCF trong phiên bản .Net framework 3.5. Một số đặc điểm mới có thể kể ra như: WCF and WF Integration-Workflow Services WCF Web Programming Model WCF Syndication WCF and Partial Trust WCF and ASP.NET AJAX Integration Web Services Interoperability Giáo viên nên mô tả sơ qua từng đặc điểm mới trong .Net framework 3.5. Chú ý nhấn mạnh một số điểm mới sẽ được trình bày kỹ hơn trong phần sau như: Http Programming Model và JSON service. WCF Web Programming Model Đây là một điểm mới trong .Net framework 3.5, cho phép xây dựng các Web-style services với WCF. Giáo viên chia các nội dung cần truyền đạt cho sinh viên thành 2 phần: Overview: Đưa ra một cái nhìn tổng quan về WCF Web Programming Model. Các kiến thức chính bao gồm: Introduction URI Processing with UriTemplate and UriTemplateTable: Giáo viên giải thích cho sinh viên khái niệm URI, UriTemplate và UriTemplateTable. Service Operation Parameters and URLs WebGet and WebInvoke: Web Programming Model cho phép lập trình viên điều khiển các mệnh lệnh bound đến URI và các phương thức HTTP liên quan đến URI này thông qua WebGet and WebInvoke. Formats and the Web Programming Model: một đặc điểm mới của Web Programming Model là có khả năng làm việc với rất nhiều kiểu dữ liệu khác nhau. Ở tầng binding, WebHttpBinding có thể đọc và ghi dữ liệu với các kiểu dữ liệu như XML, JSON, Opaque binary streams. JSON là một kiểu dữ liệu mới, có thể hầu hết sinh viên đều chưa được tiếp xúc, giáo viên có thể giới thiệu qua cho sinh viên để thấy được một vấn đề mới, hấp dẫn, kích thích sự tìm tòi của sinh viên. HTTP Programming Model HTTP Web Programming Model cho phép các lập trình viên phát triển Windows Communication Foundation (WCF) Web services qua các HTTP request cơ bản mà không cần đến SOAP. Trong phần này giáo viên giới thiệu cho sinh viên tổng quan về HTTP Web Programming Model sau đó trình bày một số lớp cơ bản được cung cấp trong mô hình này: Programming Model: WebGetAttribute WebInvokeAttribute WebServiceHost Channels and Dispatcher Infrastructure: WebHttpBinding WebHttpBehavior Utility Classes and Extensibility Points: UriTemplate UriTemplateTable QueryStringConverter WebHttpDispatchOperationSelector Sau khi giảng xong các lớp này, giáo viên giới thiệu với sinh viên một ví dụ demo. Vì thời gian dành cho bài giảng này là khá ngắn mà tiếp xúc với một công nghệ rất mới mẻ nên vấn đề đặt ra cho giáo viên là phải làm cho sinh viên nắm được WCF là gì? nắm được tư tưởng lập trình với WCF, một số điểm mới trong .Net framework 3.5 đặc biệt là HTTP Programming Model. Đây không phải là công nghệ thường gặp nhất đối với người lập trình viên nên trong khuôn khổ 45 tiết của giáo trình chúng ta không đặt nặng nội dung này. Tuy nhiên cần phải cho sinh viên nắm được cái hay của công nghệ để khi cần thiết sinh viên có thể dễ dàng tự tìm tòi, nghiên cứu và phát triển. Thực hành: Lab 6. Bài tập về nhà: Exercise 6. CHƯƠNG 7 ASP.NET AJAX Chương này trình bày một nội dung mới trong .NET framework 3.5 - ASP.NET AJAX. ASP.Net AJAX cho phép các lập trình viên tạo ra những giao diện web với những thành phần Ajax có thể dùng lại được. Trong đó AJAX là một công cụ dành cho các lập trình viên mà trước đây có mã danh là Atlas giúp xây dựng những ứng dụng web dựa trên tập ngôn ngữ Ajax (Asynchronous JavaScript and XML) – bất đối xứng JavaScript và XML. Ajax chắc hẳn sẽ trở thành một nền tảng cho lựa chọn phát triển kiến trúc các ứng dụng web thế hệ kế tiếp bởi vì công cụ đó cho phép ứng dụng nhanh và mạnh hơn, đồng thời thêm thuận lợi đối với tương tác người sử dụng. Nội dung chương này sẽ giúp sinh viên tìm hiểu được tổng quan về ASP.NET AJAX, đâu là kiến trúc của nó và một số kĩ thuật lập trình cơ bản với ASP.NET AJAX. Kế hoạch giảng Đây là chương có nội dung khá dài, giáo viên nên tách thành 2 phần. Mỗi phần sẽ giảng trong thời gian 3 tiết. Phần 1. Introducing ASP.NET AJAX (part 1 trong giáo trình) Microsoft AJAX Library (part 2 trong giáo trình) Introducing ASP.NET AJAX Phần này giới thiệu cho sinh viên tổng quan về ASP.NET AJAX. Vì trong khoảng thời gian có hạn của chương trình dạy, không thể giảng cho sinh viên từ phần ASP.NET nên trước khi vào nội dung chính giáo viên có thể nên giới thiệu qua về ASP.NET để sinh viên có thể hiểu được nội dung chương này. Các nội dung chính cần truyền đạt cho sinh viên: What is Ajax? Giới thiệu cho sinh viên khái niệm AJAX. Ajax là một kỹ thuật phát triển web có tính tương tác cao bằng cách kết hợp các ngôn ngữ: HTML (hoặc XHTML) với CSS trong việc hiển thị thông tin; Mô hình DOM (Document Object Model), được thực hiện thông qua JavaScript, nhằm hiển thị thông tin động và tương tác với những thông tin được hiển thị, Đối tượng XMLHttpRequest để trao đổi dữ liệu một cách không đồng bộ với máy chủ web. (Mặc dù, việc trao đổi này có thể được thực hiện với nhiều định dạng như HTML, văn bản thường, JSON và thậm chí EBML, nhưng XML là ngôn ngữ thường được sử dụng); XML thường là định dạng cho dữ liệu truyền, mặc dầu bất cứ định dạng nào cũng có thể dùng, bao gồm HTML định dạng trước, văn bản thuần (plain text), JSON và ngay cả EBML. Giáo viên cần nhấn mạnh cho sinh viên Ajax tự nó không phải là một công nghệ mà là một thuật ngữ mô tả việc sử dụng kết hợp một nhóm nhiều công nghệ với nhau. Ajax components Trình bày các thành phần của AJAX. Chú ý nhấn mạnh cho sinh viên 4 thành phần chính của AJAX là: JavaScript Document Object Model (DOM) Cascading Style Sheets (CSS) XMLHttpRequest Giáo viên có thể giải thích qua cho sinh viên khái niệm từng thành phần. Ví dụ nên giải thích cho sinh viên javascript là gì? dùng để làm gì? CSS là gì? Asynchronous web programming Hướng dẫn sinh viên mô hình tương tác web browser – server trước đây và khi dùng AJAX. Cần nhấn mạnh với sinh viên: Điểm khác biệt cơ bản nhất của công nghệ AJAX là việc xử lý thông tin được thực hiện trên máy client thay vì máy server như cách truyền thống. Máy chủ chỉ làm một việc đơn giản là nhận thông tin từ máy khách và trả các dữ liệu về cho máy khách. Máy khách xử lý sơ bộ thông tin của người dùng nhập vào, sau đó chuyển về máy chủ rồi nhận dữ liệu từ máy chủ và xử lý để hiển thị cho người dùng. ASP.NET AJAX Architecture Trình bày cho sinh viên kiến trúc của ASP.NET AJAX. Chú ý rằng kiến trúc của ASP.NET AJAX nằm ở cả 2 phía Client và Server. Client framework Microsoft Ajax Library HTML, JavaScript, and XML Script ASP.NET AJAX service proxies Server framework ASP.NET AJAX server controls Web services bridge Application services bridge Development scenarios Giới thiệu 2 kịch bản phát triển ứng dụng: Client-centric development model Server-centric development model Phân tích cho sinh viên điểm khác biệt của 2 kịch bản này, trường hợp sử dụng của từng kịch bản. ASP.NET AJAX goals Giới thiệu cho sinh viên các ưu điểm của việc lập trình ASP.NET AJAX giúp sinh viên tăng thêm hứng thú học tập. Microsoft AJAX Library Đây là thành phần chính trong Client Framework. Giáo viên cần giới thiệu với sinh viên các nội dung: A quick overview of the library Đưa ra cái nhìn tổng quan về library. Client Library Namespaces: Trình bày tổng quan các namespaces trong library. Chú trọng đến một số namespaces Sys, Sys.Net... Client-Side Event Life Cycle: Trình bày vòng đời của sự kiện phía client, mô tả cho sinh viên từng bước trong vòng đời. Event Handling in the Microsoft AJAX Library: Hướng dẫn sinh viên cách bắt các sự kiện trong Microsoft AJAX Library. Trong phần đầu này giáo viên nên demo cho sinh viên xem một vài ứng dụng nhỏ sử dụng ASP.NET AJAX để tăng tính trực quan và giúp sinh viên nắm bài tốt hơn trong lần đầu tiên tiếp xúc với một kĩ thuật mới. Phần 2. Working with Web Services (part 3 trong giáo trình) ASP.NET AJAX Control Toolkit (part 4 trong giáo trình) Building Web Application (part 5 trong giáo trình) Working with Web Services Gọi Web Services là một phần rất quan trọng trong AJAX. Giáo viên cần giới thiệu cho sinh viên khái niệm Web Services, tầm quan trọng của Web Services hiện nay. Các nội dung cần truyền đạt đến sinh viên bao gồm: Introduction Giới thiệu với sinh viên về việc làm việc với Web Services qua ASP.NET AJAX. Server-Side Operations Trình bày các lệnh gọi Web Services bên phía Server. Giáo viên có thể trình bày một ví dụ cụ thể trên Visual Studio hay demo qua video để sinh viên thấy rõ hơn. Using the ASP.NET Calling Convention Returning Data ASP.NET AJAX hỗ trợ làm việc với nhiều kiểu dữ liệu, từ các kiểu đơn giản cho đến phức tạp. Giáo viên lấy một vài ví dụ cụ thể để sinh viên nắm được cách làm việc với dữ liệu. Page-Based Web Services ASP.NET AJAX Control Toolkit Đây là một tập các control mà Microsoft cung cấp để làm việc với Microsoft AJAX Library và AJAX ASP.NET Extensions. Trong đó Microsoft AJAX Library và AJAX ASP.NET Extensions như là core framework còn ASP.NET AJAX Control Toolkit như là một tập các control được xây dựng trên framework đấy. Các nội dung chính cần truyền đạt đến sinh viên: Introduction Basic Control Usage Control List: Giới thiệu một số control cơ bản. Accordion Calendar ConfirmButton Creating Your Own Extender Controls: Giới thiệu cách tạo extender control. Giáo viên có thể trình bày một ví dụ cụ thể cho sinh viên. Building Web Application Securing Web Applications Profile Services Phần này trình bày một số vấn đề thường gặp khi xây dựng một ứng dụng Web. Thực hành: Lab 7. Bài tập về nhà: Exercise 7. Hướng dẫn thực hành và bài tập Đối với phần bài tập, giáo viên chỉ cần nêu đề bài ứng với mỗi chủ đề trong bài giảng hoặc các phần kiến thức mở rộng yêu cầu sinh viên nghiên cứu thêm. Một phần rất quan trọng trong bài giảng nữa là các video demo. Giáo viên có thể tìm kiếm trên mạng rất nhiều các đoạn video demo. Giáo trình này có đi kèm một số video giúp giáo viên tăng thêm tính trực quan và hấp dẫn của bài giảng. Đây là giáo trình giảng dạy về công nghệ nên việc demo và thực hành là vô cùng quan trọng. Nếu như chỉ nói lý thuyết không thì sinh viên rất khó có thể tiếp thu các vấn đề kỹ thuật, bởi vậy giáo viên có thể không nên đặt nặng vấn đề nói lý thuyết và nên giới thiệu trực quan bằng video hoặc hướng dẫn trên Visual Studio. Sau phần mỗi bài giảng, giáo viên cần hướng dẫn sinh viên phần thực hành. Một số bài thực hành mẫu được đi kèm theo giáo án. Ví dụ đối với phần LINQ, giáo viên có thể cho sinh viên thực hành 3 bài Lab ứng với các phần: LINQ to Object LINQ to SQL LINQ to XML Mỗi bài thực hành phải trình bày cho sinh viên thấy được mục đích của bài thực hành, có thể nhắc lại một số lý thuyết cơ bản và hướng dẫn sinh viên từng bước một. Bài thực hành mẫu với LINQ như sau: Lab 1: LINQ Project: Unified Language Features for Object and Relational Queries (C# language) This lab provides an introduction to The LINQ Project. The language integrated query framework for .NET (codenamed “LINQ”) is a set of language extensions to C# and Visual Basic and a unified programming model that extends the .NET Framework to offer integrated querying for objects, databases and XML. First, you will look at basic LINQ features including the Standard Query Operators and lambda expressions. Next, you will see how these features can be used against in-memory collections, connected databases, and XML documents. Finally, you will take a look at the various query operators available for data manipulation and extraction. Lab Objective Estimated time to complete this lab: 60 minutes The objective of this lab is to gain a clear understanding of the LINQ project. You will see how data manipulation can occur on objects in memory, database tables, and XML files. These new APIs benefit from IntelliSense™ and full compile-time checking without resorting to string-based queries. This lab will touch on basic LINQ technologies, along with database-specific DLinq and XML-specific XLinq. A brief look at query operators will be included. Using LINQ with In-Memory Collections DLinq: LINQ for Connected Databases XLinq: LINQ for XML Documents Understanding the Standard Query Operators Exercise 1 – Using LINQ with In-Memory Collections Note: Realize that The LINQ Project relies on new keywords and syntax introduced with C# 3.0, but which is not yet fully understood by Visual Studio 2005. This may cause some features to give incomplete information or stop functioning entirely; for example IntelliSense™ will not always be correct and error messages can be confusing. Keep in mind that the IDE support and compiler are preview releases, and still have many flaws. A consequence is that incorrect code may result in an abundance of error messages. It is important to address errors top-down, then recompile as spurious errors will often disappear once valid ones are addressed. In this exercise, you will learn how to query over object sequences. Any collection supporting the generic interface System.Collections.Generic.IEnumerable is considered a sequence and can be operated on using the new LINQ Standard Query Operators. Support is also included for types defined using System.Collections.IEnumerable so that existing code will work with LINQ as well. Standard Query Operators allow programmers to construct queries as well as projections that create new types on the fly. This goes hand-in-hand with type inference, a new feature that allows local variables to be automatically typed by their initialization expression. Task 1 – Creating a LINQ Solution Click the Start | Programs | Microsoft Visual Studio 2005 Beta 2 | Microsoft Visual Studio 2005 Beta 2 menu command. Click the Tools | Options menu command In the left hand treeview select Debugger | General In the right hand pane find the option “Redirect all output to the Quick Console window” and uncheck it Click OK Click the File | New | Project… menu command In the New Project dialog, in the Project types list on the left, click Visual C# | LINQ Preview In the Templates pane on the right, click LINQ Console Application Click OK. At the warning dialog, click OK Task 2 – Querying a Generic List of Integers In Solution Explorer, double click Program.cs Create a new method that declares a populated collection of integers (put this method in the Program class): static void NumQuery() { var numbers = new int[] { 1, 4, 2, 7, 8, 9 }; } Notice that the left-hand side of the assignment does not explicitly mention a type. This is possible due to one of the new features of LINQ: the inference of type information, where possible, directly by the compiler. In this case the right-hand side specifies that the type is int[]; therefore the type of numbers is inferred to be int[]. This is often convenient for initialization expressions because it allows the type name to be specified only once. Add the following code to query the collection for even numbers: static void NumQuery() { var numbers = new int[] { 1, 4, 2, 7, 8, 9 }; var evenNumbers = from p in numbers where (p % 2) == 0 select p; } In this step the right-hand side of the assignment is a query expression, which is a language extension introduced by The LINQ project. As in the previous step, type inference is being used here to simplify the code. The return type from a query may not be immediately obvious. This example is returning System.Collections.Generic.IEnumerable, but many queries return structured results with no obvious declared type; indeed, sometimes there will be no way to specify the type when they are created as anonymous types. In these cases type inference can be particularly useful. Add the following code to display the results: static void NumQuery() { var nu

Các file đính kèm theo tài liệu này:

  • docteaching_guide_5462.doc