Mô hình - không phải là Datab ase, không phải là Repositories, không phải là Entity. Mô hình trừu tượng, chứa tất cả dữ liệu cần được hiển thị. Và mỗi View
đều có mô hình riêng. Bạn có thể xem xét Model
là vùng chứa cho dữ liệu giữa Controller
và View
.
Trong mô hình mùa xuân là ModelMap
thông số của phương pháp điều khiển.
Bộ điều khiển - chuẩn bị Model
, để chuyển nó tới View
. Nếu mô hình khá đơn giản, Controller
có thể tự làm.
Nhưng hầu hết các mô hình đều chứa nhiều dữ liệu. Điều này có thể là nhiều thực thể từ cơ sở dữ liệu, dữ liệu từ cấu hình, v.v.Trong trường hợp này, Bộ điều khiển sử dụng tầng cấp thấp hơn: Service
, Repository
. Tất cả họ đều giúp Сontroller
để xây dựng mô hình cho View
.
upd: Đó là mục đích của Controller
để kết nối View
và Model
. Controller
tạo và điền vào Model
, sau đó chọn View
và chuyển số này được tạo Model
tới View
. Đó là cách Mô hình và Chế độ xem nhận kết nối.
Trong bộ điều khiển lò xo là Controller
và RestController
.
Xem - là điểm cuối cùng trong đó dữ liệu từ Model
(được chuyển từ Controller
) sẽ được hiển thị cho người dùng. Nhưng một vai trò khác của View
là nhận lệnh từ người dùng và chuyển nó đến Controller
.
Vào mùa xuân, đây có thể là chế độ xem của bất kỳ công cụ xem nào: JSP
, Freemaker
, Thymeleaf
.
Lưu ý: thường là, Controller
không sử dụng trực tiếp Repository
. Theo truyền thống, Controller
hoạt động với Service
và Service
sử dụng Repository
để lấy dữ liệu từ cơ sở dữ liệu. Vì vậy, quan hệ như sau: View
< - Controller
->Service
->Repository
Nguồn
2016-02-26 05:24:41
Cảm ơn bạn đã trả lời rất chi tiết. Tôi hiểu hầu như tất cả ngoài cách Mô hình và Chế độ xem được kết nối như thế nào? Lớp dịch vụ có thay đổi mô hình mà sau đó làm thay đổi chế độ xem không? Bạn có thể mở rộng trên: Controller-> Service-> Repository để bao gồm khung nhìn không? – java123999
Dịch vụ không biết gì về Mô hình và Chế độ xem. Chỉ Bộ điều khiển mới biết tất cả. Mục đích của Bộ điều khiển chính là kết nối tất cả các thành phần với nhau. Chỉ có Controller mới có thể thay đổi Model. Chỉ có Bộ điều khiển mới có thể yêu cầu Dịch vụ làm điều gì đó. Ví dụ, bộ điều khiển có thể yêu cầu Dịch vụ tải thực thể từ cơ sở dữ liệu. Sau đó Controller sẽ thêm Enitity này (hoặc nhiều thực thể) vào Model và sẽ chuyển Model này đến View. Và Chế độ xem sẽ hiển thị Mô hình này, nhưng Chế độ xem thậm chí không có ý tưởng, trong đó từ Bộ điều khiển nhận dữ liệu được lưu trữ trong Mô hình. –
Cũng như Dịch vụ không biết điều gì cho Bộ điều khiển nhận dữ liệu. Vì vậy, nó cung cấp ít phụ thuộc giữa các thành phần. –