+44(0) 1234 567 890 info@domainname.com

Monday, January 21, 2013

Sự khác biệt giữa ASP.net MVC và ASP.net WebForm

8:16 PM

Share it Please
Trước khi nêu ra sự khác biệt ASP.net MVC và ASP.net WebFrom ta cần biết một số khái niệm cơ bản về mô hình MVC.
1. Mô hình MVC cơ bản:

MVC là viết tắt chữ cái đầu của Models, Views, Controllers. MVC chia giao diện UI (User Interface) thành 3 phần tương ứng, đầu vào của các controller là các điều khiển thông qua HTTP request, model chứa các miền logic, view là những thứ được sinh ra trả về cho trình duyệt. Sau đây là một vài chi tiết trong 3 thành phần của MVC:

- Model: Được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu vào các kho chứa dữ liệu. Tất cả các nghiệp vụ logic được thực thi ở Model. Dữ liệu vào từ người dùng sẽ thông qua View để kiểm tra ở Model trước khi lưu vào cơ sở dữ liệu. Việc truy xuất, xác nhận và lưu dữ liệu là một phần của Model.

- View: Hiển thị các thông tin cho người dùng của ứng dụng và được giao nhiệm vụ cho việc nhận các dữ liệu vào từ người dùng, gởi đi các yêu cầu đến bộ điều khiển, sau đó là nhận lại các phản hồi từ bộ điề khiển và hiển thị kết quả cho người dùng. Các trang HTML, JSP, các thư viện thể và các file nguồn là một phần của View.

- Controller: là tầng trung gian giữa Model và View. Controller được giao nhiệm vụ nhận các yêu cầu từ phía máy khách. Một yêu cầu được nhận từ máy khách được thực hiện bởi một chức năng logic thích hợp từ thành phần Model và sau đó sinh ra các kết quả cho người dùng và được thành phần View hiển thị. ActionServlet, Action, ActionForm, struts-config.xml là các thành phần của Controller.


Lợi ích của việc dùng phương pháp MVC là sự phân đoạn rõ ràng giữa Models, Views, Controllers bên trong ứng dụng. Một cấu trúc sạch sẽ giúp cho việc kiểm tra ứng dụng của bạn dễ dàng hơn.

2. Một vài đặc tính trong ASP.net MVC.

- Tách rõ ràng các mối liên quan, mở khả năng test TDD ( Test Driven Developer). Có thể test unit trong ứng dụng mà không cần phải chạy Controllers cùng với tiến trình của ASP.net và có thể dùng bất kỳ một unit testing framework như NUnit, MBUnit, MS Test…

- Có khả năng mở rộng, mọi thứ trong MVC được thiết kế dễ dàng thay thế/ tùy biến (ví dụ có thể lựa chọn engine view riêng routing policy, parameter serialization, …).

- Bao gồm ánh xạ URL mạnh mẽ, cho phép xây dựng ứng dụng với những URL sạch, các URL không cần cs mở rộng (ví dụ có thể ánh xạ địa chỉ /Products/Edit/4 để thực hiện hành động edit của lớp điều khiển ProductControllers hoặc ánh xạ địa chỉ Blog/SomeTopic để thực hiện hành động “Display Topic” của lớp điều khiển BlogEngineController ).

- ASP.net MVC Framework cũng hỗ trợ file ASP.net như .ASPX .ASCX và .Master đánh dấu các tập tin này như một “view template” (có thể dễ dàng sử dụng các tính năng của ASP.net như lồng các trang Master, <%=%> snippets, mô tả server controls, template, data-binding, localization…). Tuy nhiên sẽ không còn postback và interactive back server và thay vào đó là interactive end-user với một controller class (không còn viewstate, page lifecycle).

- ASP.net MVC Framework hỗ trợ đầy đủ các tính năng bảo mật của ASP.net như Form/ Windows authenticate, URL authorization, membership/roles, output và data caching, section/ profile state, configuration system, provider architecture, …

3. Sự khác biệt Giữa MVC và WebForm:

- ASP.net WebForm sử dụng ViewState để quản lý, các trang ASP.net đều có lifecycle, postback và dùng các web controls, các event để thực hiện các hành động cho UI (User Interface) khi có sự tương tác với người dùng nên hầu hết ASP.net WebForm xử lý chậm.

- ASP.net MVC chia ra làm 3 phần: Models, View, Controller. Mọi tương tác của người dùng với Views sẽ được thực hiện hành động trong Controllers, không còn postback, lifecycel và events.

- Việc kiểm tra (test), gỡ lỗi (debug) với ASP.net WebForm đều phải chạy tất cả các tiến trình của ASP.net, và sự thay đổi ID của bất kỳ Controls nào cũng ảnh hưởng đến ứng dụng. Đối với MVC thì việc đó có thể sử dụng các unit test có thể thẩm định rất dễ dàng các Controllers thực hiện như thế nào.

- Sau đây là bảng so sánh các tính năng của ASP.net WebForm với ASP.net MVC

Các tính năng ASP.net WebForm ASP.net MVC
Kiến trúc chương trình Kiến trúc mô hình WebForm –> Bussiness –> Database Kiến trúc sử dụng việc phân chia chương trình thành: Models, Views, Controllers
Cú pháp chương trình Sử dụng cú pháp của WebForm, tất cả các sự kiện và controls do server quản lý Các sự kiện được điều khiển bởi controllers, các controls không do server quản lý.
Truy cập dữ liệu Sử dụng hầu hết các công nghệ truy cập dữ liệu trong ứng dụng Phần lớn dùng LINQ và SQL class để tạo mô hình truy cập đối tượng.
Debug Debug phải thực hiện tất cả bao gồm các lớp truy cập dữ liệu, sự hiển thị, điều khiển các controls. Debug có thể sử dụng các unit test để kiểm tra các phương thức trong controllers.
Tốc độ phân tải Tốc độ phân tải chậm khi trong trang có quá nhiều các controls vì ViewState quá lớn Phân tải nhanh hơn do không phải quản lý ViewState để quản lý các controls trong trang.
Tương tác với JavaScript Tương tác với JavaScript khó khăn vì các controls được điều khiển bởi server Tương tác với JavaScript dễ dàng vì các đối tượng không do server quản lý điều khiển không khó
URL address Cấu trúc địa chỉ URL có dạng:
.aspx?& Cấu trúc địa chỉ rành mạch theo dạng Controllers/Action/ID
Click vào đây để download một số tài liệu tham khảo ASP.net MVC

0 comments:

Post a Comment

Tags

Thủ thuật pc Góc Làm Đẹp Làm Đẹp Da Thủ Thuật Blogspot - Wordpress - Joomla Thủ Thuật Network Giải trí Thủ Thuật Hay thu-thuat-blogspot ASP.NET Danh bạ Lập trình CSDL Thủ Thuật Blog Lập trình Thủ thuật Excel Phần Mềm Góc Phụ Nữ SEO TT Windows Lý Thuyết CCNA Dịch Vụ Hot CCNA Sức Khỏe - Đời Sống Office Thủ Thuật Mobile Thủ Thuật Win 8 Download Xây dựng liên kết Android Thủ thuật Word Website thu-thuat-internet Forum PHP Tư Vấn Làm Đẹp Mẹo Vặt tien-ich-widget Đọc báo ASP.NET MVC Ca nhạc Hỏi Đáp Thơ Vui Thủ Thuật Game vui-nhon Download Phần Mềm - Crack VBA Excel thu-thuat-facebook Cuộc sống Download Game Photoshop Thủ thuật Blogspot VBA trong Excel Widget Blogspot Địa Điểm Hot C# CSS Giới Tính Tài Liệu Đại học Chuyện lạ Clip Hài - Video Hot Góc Kỹ Năng Góc Sinh Viên Liên Minh Huyền Thoại Sao Sức Khỏe Giới Tính Thủ Thuật Tin Học template-blogger Chuyện Của Sao Design Pattern Kiến thức cơ bản PM hệ thống Thủ thuật Facebook Tin nổi bật Đề thi LAB CCNA Love story Học và hỏi Môn toán Spring.NET Tủ Sách Video lam-quen-voi-blogger Ảnh Vui Bảng Giá Con trai Cẩm nang du học Dependency Injection Hình ảnh Kinh nghiệm học Kỹ Năng Xin Việc Luật Pháp ORM Tin nóng Tiện ích Truyện cười Việt Nam hinh-anh-hai-huoc tho-vui-con-coc thu-thuat-phan-mem Blogspot Distributed Technologies Hợp Tác Kinh Doanh Khám phá MVP NHibernate Photoshop Action Thủ Thuật Win 7 Trẻ Tư Vấn Tiêu Dùng VietYeah TV Xã Hội thu-thuat-SEO Blogger Templates Game flash Khối B Nghịch Nhân vật Phong Cách Slider Thư giãn Thủ thuật Youtube WCF facebook hinh-anh-dep thu-thuat-may-tinh Đời Sống 2010 Con gái Download Game Mobile Drivers External Post Học Nấu Ăn Học vui Làm Đẹp Tóc MVC N-Tier PM hệ điều hành Sao Quốc tế Thủ thuật internet Thông Tin Tin Tức Hot Tivi Truyện Hay Tuyển Dụng Xả Stress Youtube anh-bia-facebook san-pham-google ung-dung-website Đáp án Đề thi thử AOP Abstract Factory Cool stuffs Design Principles Khối A Thông tin mạng Tình yêu lập trình viên phan-mem-van-phong thu-thuat-windows-7 thu-thuat-windows-8 Điện Tử Ảnh Nghệ Thuật 2009 2011 2012 Adapter Pattern Công Nghệ Factory Method Game Hình sự Khối D Kiếm Tiền Qua Mạng Kỹ Năng Nơi Công Sở LinQ Menu Miễn phí Photoshop PSD Sexy Singleton Sành điệu Thủ Thuật Di Động Tin nhắn SMS phan-mem-do-hoa phan-mem-tien-ich Đọc xong vọc liền .NET Remoting 10-thing series 2013 Ajax Bridge Pattern Bóng đá Castle Windsor Chơi Game Online Cover Facebook Có Thể Bạn Chưa Biết Download Phim Dịch vụ Fedora Garbage Collection Google Plus Góc Tâm Sự HTML Hibernate Hài hước IoC JSF Javascript Jquery Khối C Kỹ Năng Bán Hàng Kỹ Năng Thuyết Trình Lazy Load Linux Lock Log4Net MWC Memory Management Mock Multi-Thread MySQL Môn sử Mặc Đẹp Mẹ Và Bé Mỹ Tâm NUnit Ngọc Trinh Nhịp sống trẻ PM văn phòng POCO Passive View Photoshop tách ảnh Phạm Băng Băng Phầm Mềm Crack PostSharp Primefaces Shop Bít Tuốt Strategy Pattern Supervising Controller Sự kiện Thể thao Thủ Thuật Office Tin đặc biệt Toán Tình bạn Tình dục Tốt nghiệp Unit Testing VBA Word Virtual Server Văn WMC 2012 Windows Service acc fshare acc mien phi anh-nghe-thuat cntt di dong di động dropbox dung luong dropbox fshare hinh nen hinh nen dep hình nền job mac os mang xa hoi may ao mạng xã hội social tang dung luong dropbox thu-thuat-mobile thu-thuat-windows-xp tháng 2 top truyen-cuoi tăng dung lượng dropbox vmware Ảnh đẹp