[ZF] Mô hình MVC trong Zend Framework (Part 1)

1. Framework là gì ?
Framework là một thư viện các lớp đã được xây dựng hoàn chỉnh, là một “bộ khung ” để phát triển các phần mềm ứng dụng. Có thể ví Framework như một tập các “vật liệu” ở từng lĩnh vực cho người lập trình viên, thay vì họ phải mất thời gian để tự thiết kế trước khi dùng. Do vậy, người lập trình viên chỉ việc tìm hiểu và khai thác các vật liệu này rồi tiến hành gắn kết (tức lập trình) để tạo ra sản phẩm.

Để thiết kế một game đua xe, nếu không có bộ framework chuyên dụng cho game, thì người lập trình phải tự tạo ra các thành phần như khung xe, bánh xe, chướng nghại vật… rồi mới bắt đầu ghép chúng lại với nhau để tạo ra không gian cho game. Nếu có sẵn bộ Framework thì lập trình viên chỉ việc lấy chúng ra và ghép chúng lại. Có thể hình dung Framework giống như các vật liệu gạch, cát, sỏi, xi măng …nhưng tùy cách thiết kế của các kiến trúc sư mà sẽ tạo ra những công trình có kích thước và hình dạng khác nhau.

2. Mô hình MVC
MVC là viết tắt của Model-View-Controller. Mô hình thiết kế MVC (MVC design pattern) là phương pháp chia nhỏ ứng dụng nhiều lớp thành ba thành phần chính là model, view, controller.

zendframework mvc

– Model : Là một đối tượng hoặc tập hợp các đối tượng biểu diễn cho phần dữ liệu của chương trình. Ví dụ dữ liệu được lưu trong cơ sở dữ liệu hay từ các hệ thống ứng dụng khác.
– View : Là phần giao diện với người dùng, bao gồm việc hiện dữ liệu ra màn hình, cung cấp các menu, button, các chọn lựa …, để người dùng có thể thêm, xóa, sửa, tìm kiếm… và làm các thao tác khác đối với dữ liệu trong hệ thống.
– Controller : Là phần điều khiển toàn bộ hoạt động logic về hoạt động của giao diện, tương tác với các thao tác của người dùng và cập nhật, thao tác trên dữ liệu theo đầu vào nhận được và điều khiển việc chọn phần hiển thị thích hợp để truyền dữ liệu tới người dùng.

Với phương pháp thiết kế này, các chức năng logic, chức năng điều khiển và chức năng truy cập dữ liệu của chương trình được chia làm các phần tách biệt.

Comments

comments

Share this Post :

No comments yet.

Please Post Your Comments & Reviews

Your email address will not be published. Required fields are marked *