Kiến trúc theo mẫu MVC

Một phần của tài liệu HỆ THỐNG QUẢN lý vé đặt THEO mùa PHỤC vụ các sự KIỆN THỂ THAO, văn HOÁ (Trang 64 - 66)

Giới thiệu

Như đã trình bày ở phần trước, mô hình 2 đã phân chia được trách nhiệm một cách rõ ràng cho các đối tượng khác nhau trong ứng dụng web sử dụng công nghệ JSP. Mô hình này đã tuân theo một mẫu thiết kế (pattern) là Model-View-Controller (gọi tắt là MVC). Một sốưu điểm và thuận lợi khi sử dụng mô hình này:

• Các thành phần xử lý nghiệp vụ và thành phần hiển thị (giao diện) được tách rời, cho phép hệ thống có thể thay đổi giao diện một cách dễ dàng mà không làm ảnh hưởng tới việc xử lý nghiệp vụ bên dưới.

• Khả năng tái sử dụng và mở rộng cao nhờ sự tách biệt đó, cho phép có thể có nhiều kiểu ứng dụng khác nhau (ví dụ nhưứng dụng web, desktop hay là các ứng dụng dành cho các loại máy xách tay, máy sử dụng công nghệ không dây, …) sử dụng cùng một thành phần xử lý nghiệp vụ. • Thời gian phát triển hệ thống cũng được rút ngắn khi công việc thiết kế giao diện và thực hiện xử lý nghiệp vụđược phân chia rõ ràng.

Các thành phần:

Mẫu thiết kế MVC là một mẫu thiết kế chung và không phải chỉ sử dụng cho các ứng dụng web. Các ứng dụng sử dụng mẫu này sẽ được chia thành 3 thành phần chính:

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

- Model

Thực hiện công việc xử lý yêu cầu từ View thông qua Controller. Các yêu cầu sẽ được xử lý bao gồm kiểm tra dữ liệu nhập một lần nữa (một phần đã được thực hiện trong Controller), kiểm tra ràng buộc toàn vẹn và thực hiện các thao tác đọc/ghi dữ liệu. Sau đó kết quảđược gởi về cho View cũng thông qua Controller. Model cũng có nhiệm vụ thông báo tình trạng hiện thời của mình cho View biết để cập nhật lại cách thức hiển thị. Các đối tượng dữ liệu dùng để chứa kết quả trả về hoặc tình trạng hiện thời của Model được gọi là các đối tượng truyền dữ liệu (data transfer object – DTO)

hay là các đối tượng chứa giá trị (value object) - View

Việc hiển thị dữ liệu cung cấp từ Model được thực hiện trong thành phần này. Khi View nhận được thông báo (notify message) từ phía Model, nó sẽ phải cập nhật lại cách thực hiển thị.

- Controller

Chịu trách nhiệm nhận yêu cầu từ người dùng và chuyển yêu cầu đó cho Model xử lý. Controller này cũng sẽ thực hiện một số thao tác kiểm tra dữ liệu nhập trước khi chuyển dữ liệu và yêu cầu xuống cho Model.

MVC và ứng dụng Web

Tuy nhiên, mẫu thiết kế MVC nguyên thuỷ không thể áp dụng hoàn toàn cho các ứng dụng web vì các ứng dụng web không duy trì một kết nối thường trực xuống các đối tượng trong thành phần Model. Do đó, việc thông báo trạng thái hiện hành giữa các đối tượng trong Model và View không thể thực hiện được một cách dễ dàng.

Hệ thống quản lý vé đặt theo mùa phục vụ các sự kiện thể thao, văn hóa

Trong các ứng dụng web sử dụng công nghệ JSP và Java, các thành phần của mẫu thiết kế MVC được phân chia như sau:

Thành phần Model : sẽ chứa các đối tượng dùng để thực hiện xử lý yêu cầu. Các đối tượng này có thể là các JavaBean có các chức năng kết nối với CSDL thông qua JDBC hoặc là các đối tượng Java phức tạp theo công nghệ EJB, …

Thành phần View : sẽ là các trang JSP và HTML. Các trang HTML sẽ chứa các dữ liệu tĩnh còn JSP thì chứa dữ liệu động. JavaScript cũng có thể được sử dụng.

Thành phần Controller : sẽ là các controller servlet có nhiệm vụ nhận yêu cầu và chuyển tiếp xuống cho Model sau khi đã thực hiện một số thao tác kiểm tra và định dang dữ liệu cho phù hợp với định dạng dữ liệu từ phía Model. Sau đó, nó sẽ quyết định trang JSP nào sẽđược hiển thị kế tiếp. Ngoài ra, nhằm giảm chi phí bảo trì, tăng khả năng tái sử dụng, khả năng mở rộng của các ứng dụng web, các mẫu thiết kế khác cũng được sử dụng kết hợp với MVC. Lựa chọn mẫu nào đểđáp ứng được yêu cầu của ứng dụng bán vé theo mùa? Điều này sẽđược chúng tôi giới thiệu rõ hơn trong Chương 4.

Một phần của tài liệu HỆ THỐNG QUẢN lý vé đặt THEO mùa PHỤC vụ các sự KIỆN THỂ THAO, văn HOÁ (Trang 64 - 66)