Logic nghiệp vụ không được chứa trong bộ điều khiển. Bộ điều khiển phải càng mỏng càng tốt, lý tưởng nhất là theo mẫu:
- Tìm thực thể miền
- Hành động trên thực thể miền
- Chuẩn bị dữ liệu để xem / trả kết quả
Ngoài ra, bộ điều khiển có thể chứa một số logic ứng dụng.
Vậy tôi phải đặt logic kinh doanh của mình ở đâu? Trong Mô hình.
Model là gì? Bây giờ đó là một câu hỏi hay. Vui lòng xem bài viết Mô hình và Thực tiễn của Microsoft (kudos cho AlejandroR để tìm kiếm xuất sắc). Ở đây có ba loại mô hình:
- View Model : Đây đơn giản là một túi dữ liệu, với logic tối thiểu, nếu có, để truyền dữ liệu từ và đến các khung nhìn, chứa xác thực trường cơ bản.
- Mô hình miền : Mô hình béo với logic nghiệp vụ, hoạt động trên một hoặc nhiều thực thể dữ liệu (nghĩa là thực thể A ở trạng thái nhất định hơn là hành động trên thực thể B)
- Mô hình dữ liệu : Mô hình nhận biết lưu trữ, logic chứa trong một thực thể đơn lẻ chỉ liên quan đến thực thể đó (ví dụ nếu trường a thì trường b)
Tất nhiên, MVC là một mô hình có nhiều loại khác nhau. Những gì tôi mô tả ở đây là MVC chỉ chiếm lớp trên cùng, hãy quay video bài viết này trên Wikipedia
Ngày nay, MVC và người trình bày theo mô hình tương tự (MVP) là các mẫu thiết kế Tách mối quan tâm áp dụng riêng cho lớp trình bày của một hệ thống lớn hơn. Trong các tình huống đơn giản, MVC có thể đại diện cho thiết kế chính của một hệ thống, tiếp cận trực tiếp với cơ sở dữ liệu; tuy nhiên, trong hầu hết các tình huống, Bộ điều khiển và Mô hình trong MVC có sự phụ thuộc lỏng lẻo vào Lớp / tầng Dịch vụ hoặc Dữ liệu. Đây là tất cả về kiến trúc Máy khách-Máy chủ