Thứ Sáu, 2 tháng 1, 2009

Tìm hiều mô hình kiến trúc của Struts (Phần 2)

Các kiến trúc Model 2 thiết kế các trang JSP là trong thực tế, Model View Controller (MVC) áp dụng cho các ứng dụng web. Do đó hai điều khoản có thể được sử dụng thay thế cho nhau trong thế giới web. MVC bắt nguồn từ Smalltalk và từ đó đã được thực hiện theo cách của mình vào cộng đồng Java. Mô hình 2 architecure và dẫn xuất của nó là nền tảng cho tất cả các ứng dụng web nặng và sức mạnh công nghiệp thiết kế trong thế giới thực. Vì vậy nó là cần thiết cho bạn hiểu kỹ mô hình này. Hình 1.2 cho thấy mô hình 2 (MVC) kiến trúc.

Sự khác biệt chính giữa Model 1 và Model 2 là trong Model 2, điều khiển một xử lý các yêu cầu người dùng thay vì một JSP. Bộ điều khiển được thực hiện như một Servlet. Các bước sau đây được thực hiện khi người dùng gửi yêu cầu.
  • Các Servlet Controller xử lý yêu cầu của người dùng. (Điều này có nghĩa là các siêu liên kết trong JSP nên chỉ tới servlet controller).
  • Các Servlet Controller sau đó instantiates JavaBeans phù hợp dựa trên các thông số yêu cầu (và tùy chọn cũng dựa trên thuộc tính kỳ họp).
  • Các Servlet Controller sau đó tự mình hoặc thông qua một giao tiếp trợ giúp điều khiển với các trung cấp hoặc trực tiếp vào cơ sở dữ liệu để lấy dữ liệu cần thiết.
  • Bộ điều khiển bộ các JavaBeans kết quả (hoặc cùng một hoặc một mới) tại một trong những bối cảnh sau đây - yêu cầu, phiên hoặc ứng dụng.
  • Bộ điều khiển sau đó công văn yêu cầu cho xem tiếp theo dựa vào URL yêu cầu.
  • View sử dụng các JavaBeans kết quả từ Bước 4 để hiển thị dữ liệu. Lưu ý rằng không có logic trình bày trong JSP. Các chức năng duy nhất của JSP trong kiến trúc 2 Model là để hiển thị các dữ liệu từ các JavaBeans thiết lập trong phạm vi yêu cầu, phiên hoặc ứng dụng.

(Ảnh minh họa được sử dụng từ http://www.java-samples.com/images/model2architecture.jpg)

Ưu điểm các Model 2 Kiến trúc
Vì không có logic trình bày trong JSP, không có scriptlets. Điều này có nghĩa là nightmares nhỏ hơn. [Chú ý rằng mặc dù Model 2 là hướng loại bỏ các scriptlets, nó không có kiến trúc khiến bạn thêm scriptlets. Điều này đã dẫn đến lạm dụng rộng rãi các kiến trúc 2 mẫu này.]

Với MVC bạn có thể có nhiều điều khiển servlet trong ứng dụng web của bạn. Trong thực tế bạn có thể có một Controller Servlet mỗi mô-đun. Tuy nhiên có một số lợi thế của việc có một servlet điều khiển duy nhất cho toàn bộ các ứng dụng web. Một ứng dụng web thông thường, có một số nhiệm vụ mà bạn muốn làm cho mọi yêu cầu gửi đến. Ví dụ, bạn có để kiểm tra xem người dùng yêu cầu một hoạt động được phép làm như vậy. Bạn cũng muốn đăng nhập của người sử dụng và thoát ra từ các ứng dụng web cho mọi yêu cầu. Bạn có thể muốn tập trung các logic để điều phối các yêu cầu tới điểm khác. Danh sách đi. Nếu bạn có một vài điều khiển servlet, cơ hội được rằng bạn phải lặp lại trong logic cho tất cả các nhiệm vụ trên trong tất cả các nơi. Một servlet điều khiển duy nhất cho các ứng dụng web cho phép bạn tập trung tất cả các nhiệm vụ ở một nơi duy nhất. Mã thanh lịch và dễ dàng hơn để duy trì.

Các ứng dụng Web dựa trên kiến trúc 2 Model được dễ dàng hơn để duy trì và mở rộng từ các quan điểm không tham khảo với nhau và không có logic trình bày trong các quan điểm. Nó cũng cho phép bạn xác định rõ vai trò và trách nhiệm trong dự án lớn do đó cho phép phối hợp tốt hơn giữa các thành viên trong nhóm.

DangTrung.

Không có nhận xét nào:

Đăng nhận xét