Đặc tả luồng thông tin trong mô hình MVC của Application layer

Một phần của tài liệu Tìm hiểu công nghệ và xây dựng framework giúp phát triển nhanh các website (Trang 34 - 35)

Từ sơ đồ tổng quát Hình 3.5 ở trên, phân tích chi tiết Chặng 3 - trường hợp 1 - tình huống 1.2 (tương ứng với các ký hiệu R2, MVC1 trên hình 3.5), chúng ta đặc tả luồng thông tin hoạt động trong mô hình MVC của Application layer sẽ có sơ đồ như hình 3.6 dưới đây:

Hình 3.6: Luồng thông tin trong mô hình MVC

Ở đây, ta xem xét quá trình Router tiếp nhận yêu cầu từ trình duyệt và chuyển tiếp tới Controller xử lý:

- Controller tiếp nhận yêu cầu từ Router, gọi đồng thời tới các Model và View tương ứng

- Model nhận yêu cầu từ controller, tiến hành thực hiện truy vấn cơ sở dữ liệu, lấy ra dữ liệu theo yêu cầu, trả kết quả về controller.

- View gọi các file HTML cần thiết,

- Controller trộn 2 thành phần: dữ liệu (lấy từ model) và HTML (lấy từ view) thành kết quả trả lại Router.

Trong quá trình xây dựng một dự án, nếu một phương thức được viết trong nhiều hơn 1 lớp, phương thức đó sẽ được Project Leader xem xét đưa vào Base functions. Nếu phương thức nào viết trong Base functions được sử dụng nhiều hơn 2 dự án và hoạt động ổn định, hiệu quả, và có thể áp dụng cho nhiều loại dự án khác nhau, phương thức đó sẽ được cân nhắc đưa vào Core functions.

Ví dụ: ở phiên bản lõi core_1.0 chưa có chức năng tạo mã QR code.

Một dự án quản lý thẻ khách hàng có sử dụng framework ligker core_1.0. Trong đó có 2 lớp ứng dụng là card (thẻ) và customer (khách hàng).

- Giai đoạn 1: yêu cầu tạo mã QR code cho Mã thẻ. Khi đó, lập trình viên tiến hành tạo phương thức: create_card_qr_code() trong lớp card;

- Giai đoạn 2: khách hàng bổ sung: yêu cầu tạo mã QR code cho Mã khách hàng. Ở giai đoạn này, thay vì tiếp tục tạo thêm một phương thức create_member_qr_code(), Project Leader sẽ kiểm tra phương thức create_card_qr_code() đã tạo ở giai đoạn 1, tiến hành chuyển phương thức này về Base functions và đặt lại tên create_qr_code(). Sau đó, cả 2 lớp ứng dụng là card và customer đều dùng chung method này.

Khi kết thúc dự án, nhận thấy phương thức create_qr_code() tỏ ra hiệu quả và có thể tái sử dụng trong nhiều dự án trong tương lai, create_qr_code() đã được đưa vào Core functions trong Core layer của Ligker framework.

Một phần của tài liệu Tìm hiểu công nghệ và xây dựng framework giúp phát triển nhanh các website (Trang 34 - 35)