1. Trang chủ
  2. » Tất cả

ASP_NET_MVC_Framework_qua_cac_vi_du

11 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 573,98 KB

Nội dung

[ASP.NET] MVC Framework ví dụ minh họa Đây dịch từ số blog tác giả Scott Guthrie ASP.NET MVC Framework công nghệ đời ASP.NET Một hạn chế framework ASP.NET từ trước đến không hỗ trợ lập trình viên sử dụng kiến trúc MVC để phát triển ứng dụng, nhiều người mong chờ xuất kiến trúc lâu năm framework Model View Controller (MVC) MCV tên phương pháp chia nhỏ ứng dụng thành ba thành phần để cài đặt, thành phần đóng vai trị khác ảnh hưởng lẫn nhau, models, views, controllers Models ứng dụng dựa MVC thành phần có nhiệm vụ lưu trữ thơng tin, trạng thái đối tượng, thơng thường lớp ánh xạ từ bảng CSDL Lấy ví dụ, có lớp Product sử dụng để mơ tả liệu từ bảng Products SQL, bao gồm ProductID, OrderDate… Cịn Views, thành phần chịu trách nhiệm hiển thị thông tin lên cho người dùng thông qua giao diện Thông thường, thông tin cần hiển thị lấy từ thành phần Models Ví dụ, đối tượng Product có “Edit” view bao gồm textboxes, dropdowns checkboxes để chỉnh sửa thuộc tính sản phẩm; có “Display” view gồm dòng, cột dòng ProductID, dịng sau OrderDate… để xem thơng tin sản phẩm Cuối cùng, Controllers ứng dụng kiểu MVC chịu trách nhiệm xử lý tác động mặt giao diện, thao tác models, cuối chọn view thích hợp để hiển thị hình Trong kiến trúc MVC, view có tác dụng hiển thị giao diện mà thơi, cịn điều kiển dòng nhập xuất người dùng Controllers đảm trách Một lợi điểm phương pháp MVC bắt buộc phải tạo rành mạch liên kết thành phần models, views controllers ứng dụng Duy trì mối quan hệ rành mạch rõ ràng khiến việc kiểm tra ứng dụng trở nên dễ dàng hơn, đồng thời trách nhiệm thành phần định nghĩa rõ ràng ba làm việc ăn ý với Pattern MVC cho phép thực red/green test driven development (TDD) (http://en.wikipedia.org/wiki/Test-driven_development), cài đặt unit tests tự động, xác định kiểm tra lại yêu cầu trước bắt tay vào viết code *** Test-Driven Development (TDD) is a software development technique consisting of short iterations where new test cases covering the desired improvement or new functionality are written first, then the production code necessary to pass the tests is implemented, and finally the software is refactored to accommodate changes Một vài chi tiết mà tơi lộ vào thời điểm tại, là: - Cho phép chia tách rành mạch thành phần, thành phần có khả test riêng biệt mặc định hỗ trợ TDD Tất mối liên hệ yếu MVC có giao diện để hiển thị xây dựng thành mơ hình, bao gồm interface-based IHttpRequest/IHttpResponse Bạn chạy unit test cho ứng dụng mà chạy Controllers ASP.NET process, điều làm unit test chạy nhanh Bạn sử dụng unit testing framework được, kể NUnit, MBUnit, MS Test… - Được thiết kế để dễ mở rộng tiện dụng, tất thứ MVC framework nhanh chóng thay đổi, tùy chọn hóa Ví dụ bạn viết View sử dụng cho nhiều ứng dụng khác nhau, tính pluggable - Bao gồm thành phần ánh xạ URL cho phép bạn xây dựng ứng dụng thân thiện với máy tìm kiếm với người dùng Lấy ví dụ tơi ánh xạ URL /products/edit/4 trang cho phép chỉnh sửa thông tin sản phẩm, /Blogs/scottgu/10-10-2007/SomeTopic/ để xem thông tin - MVC framework hỗ trợ sử dụng các tập tin ASPX, ASCX Master thành phần View, điều có nghĩa bạn sử dụng tính ASP.NET master pages, snippets, server controls, templates, data-binding, localization… Tuy nhiên khơng sử dụng mơ hình post-back từ giao diện gửi đến server nữa, thay vào đó, bạn chủ động đưa post-back từ giao diện đến thẳng lớp Controller Tóm lại, khơng cịn viewstate page lifecycle cịn tồn mơ hình MVC - Vẫn tiếp tục hỗ trợ tính ASP.NET forms/windows authentication, URL authorization, membership/roles, output and data caching, session/profile state management, health monitoring, configuration system, the provider architecture… Nếu bạn tìm kiếm phương pháp xây dựng ứng dụng web theo hướng MVC, nghĩ ASP.NET MVC Framework lựa chọn tốt, rành mạch dễ sử dụng Nó cho phép bạn dễ dàng bảo trì phân tách thành phần ứng dụng, đồng thời tốt công việc testing TDD Tôi viết nhiều hướng dẫn tuần đến để mô tả cách thức làm việc MVC, bạn nhận ưu điểm thuận lợi sử dụng công nghệ Một ứng dụng cửa hàng thương mại điện tử đơn giản Tôi sử dụng ứng dụng cửa hàng thương mại điện tử để minh họa cách mà ASP.NET MVC Framework làm việc Bài viết hôm cài đặt hệ thống liệt kê tìm duyệt sản phẩm có cửa hàng Cụ thể, chúng đang xây dựng hệ thống cho phép người dùng cuối tìm duyệt danh sách catalog họ đến thăm trang /Products/Categories: Khi người dùng click vào đường link catalog hình trên, họ chuyển tới trang hiển thị sản phẩm có danh mục cụ thể, trang /Products/List/CategoryName: Khi người dùng click vào sản phẩm, họ chuyển đến trang mô tả thông tin chi tiết sản phẩm đó, /Products/Detail/ProductID: Chúng ta xây dựng tất tính cách sử dụng ASP.NET MVC framework Xin nhắc lại lần nữa, phân biệt rõ ràng thành phần ứng dụng, khả unit test TDD điều tạo khác biệt mà đặc biệt nhấn mạnh Tạo ứng dụng ASP.NET MVC Visual Studio Project Templates kèm với MVC Framework, cho phép tạo ứng dụng web theo template cho sẵn Đơn giản, bạn cần vào File -> New Project chọn template “ASP.NET MVC Web Application” tạo web Mặc định sử dụng template này, Visual Studio tạo solution bao gồm hai projects Project web project nơi mà bạn cài đặt ứng dụng Project thứ hai testing project mà bạn dùng để test project thứ nhất: Bạn sử dụng unit testing nào, bao gồm NUnit, MBUnit, MSTest, XUnit… ASP.NET MVC Visual Studio 2008 cài đặt sẵn testing project hỗ trợ MSTest (trong VS 2005 có Visual Studio Team System SKU có), testing project tự động tạo bạn sử dụng template MVC project Trong tương lai thêm vào testing project dành cho NUnit, MBUnit testing framework khác, bạn có thêm nhiều lựu chọn tạo ứng dụng web có testing project mà bạn thích để sử dụng Hiểu rõ cấu trúc thư mục Project Cấu trúc thư mục mặc định ứng dụng ASP.NET MVC gồm thư mục chính: * /Controllers * /Models * /Views Như bạn thấy, khuyến khích việc đưa class điều khiển vào bên thư mục /Controllers, class thuộc mơ hình liệu vào bên thư mục /Models, liên quan đến giao diện vào thư mục /Views Mặc dù ASP.NET MVC framework không bắt buộc bạn phải sử dụng cấu trúc này, cấu trúc mặc định bạn tạo project chúng tơi ln ln khuyến khích việc sử dụng để phân chia ứng dụng Bạn sử dụng cấu trúc ngoại trừ trường hợp bạn đề lý đủ thuyết phục để thay đổi Ánh xạ URL vào class Controller Hầu hết web framework, ASP, PHP, JSP, ASP.NET WebForms…, ánh xạ URL vào file template lưu đĩa Lấy ví dụ URL “/Products.aspx” hay “/Products.php” chuyển đến file template Products.aspx hay Products.php đĩa cứng để xử lý Khi ứng dụng web nhận HTTP Request đến web server, web framework chạy đoạn code cụ thể tương ứng với nội dung file template, đoạn code đóng vai trị xử lý u cầu phía client gửi đến Thơng thường đoạn code sinh HTML đáp ứng lại phía client MVC Framework lại hoạt động theo cách khác hồn tồn, thay ánh xạ URL vào file template lưu đĩa, đưa thẳng vào class Những class ánh xạ tới gọi “Controllers“, chúng xử lý request đến, kiểm sốt dịng nhập xuất giao diện đối v ới người dùng, thực thi ứng dụng data logic tương ứng với request Cuối cùng, chúng sử dụng thành phần Views để tạo HTML đáp trả lại request ASP.NET MVC Framework có máy ánh xạ URL thật mạnh mẽ Bộ máy cung cấp phương pháp linh hoạt việc ánh xạ URLs sang cho Controller Classes Bạn dễ dàng định quy luật, cài đặt đường để ASP.NET dựa vào quy luật đường đó, xác định xem phải thực thi Controller ASP.NET có khả phân tích URL, chuyển thơng số URL thành tham số lời gọi hàm Controller Tôi viết kỹ kỹ thuật định tuyến nâng cao blog đến Đường mặc định từ ASP.NET MVC URL đến Controller Classes Các projects ASP.NET MVC định nghĩa sẵn số quy luật đường để bạn hiệu chỉnh thêm điều bắt đầu làm quen với framework Bạn bắt đầu viết mã sử dụng phương pháp ánh xạ URL mặc định định nghỉa file Global.asax ASP.NET Application class File Global.asax tự động tạo từ ASP.NET MVC project template Phương pháp mặc định đơn giản làm nhiệm vụ ánh xạ phần URL từ HTTP Request, lấy ví dụ /Products/, đến class có tên theo mẫu UrlPathController, tức URL /Products/ chuyển đến class có tên ProductsController Để xây dựng chức tìm duyệt sản phẩm ứng dụng thương mại điện tử, thêm vào class “ProductsController” vào project Bạn sử dụng menu “Add New Item” để nhanh chóng tạo Controller class từ template: Class ProductsController kế thừa từ class sở System.Web.MVC.Controller Thừa kế từ class sở điều bắt buộc, nhiên tiện lợi có nhiều phương thức chức mà ta muốn sử dụng sau Một định nghĩa class ProductsController, ASP.NET MVC framework sử dụng cho tất URL bắt đầu “/Products/“ ProductsController sử dụng có yêu cầu đến “/Products/Categories“, “/Products/List/Beverages” “/Products/Detail/3“, ba chức mà ta phải cài đặt ứng dụng cửa hàng Trong phần thêm ShoppingCartController để người dùng quản lí giỏ hàng họ Thêm vào AccountController cho phép người dùng tạo tài khoản khách hàng, đăng nhập đăng xuất khỏi website Tất nhiên có hai controller rồi, mặc định URL bắt đầu /ShoppingCart/ /Account/ tự động chuyển hướng sang controller để xứ lý Lưu ý: ASP.NET MVC framework không yêu cầu bạn bắt buộc phải sử dụng cách đặt tên để ánh xạ URL theo mẫu Lý mà ứng dụng thực làm sử dụng luật ánh xạ mặc định tạo ASP.NET MVC Project template Nếu bạn muốn thay đổi, bạn chỉnh sửa lại luật class ASP.NET Application - file Global.asax

Ngày đăng: 15/05/2021, 23:24

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN