Gần đây tôi đã quyết định bắt đầu học Phát triển iOS và đến cuối cùng, tôi đã đọc Lập trình iOS: Hướng dẫn trang trại Big Nerd . Trong cuốn sách, các tác giả mô tả một mẫu thiết kế MVCS - Model-View-Controller-Store , ý tưởng cơ bản là vì nhiều ứng dụng sử dụng nhiều nguồn dữ liệu bên ngoài giữ logic yêu cầu trong bộ điều khiển có thể rất lộn xộn, thay vào đó các tác giả đề xuất rằng di chuyển tất cả logic yêu cầu ra khỏi bộ điều khiển và vào một đối tượng riêng biệt.
Tóm lại để trích dẫn cuốn sách
Model-View-Controller-Store đặt logic yêu cầu vào một đối tượng riêng biệt và chúng ta gọi đối tượng này là một cửa hàng (Hình 28.4). Sử dụng một đối tượng cửa hàng sẽ giảm thiểu mã dự phòng và đơn giản hóa mã tìm nạp và lưu dữ liệu. Quan trọng nhất, nó chuyển logic để xử lý một nguồn bên ngoài thành một lớp gọn gàng với mục tiêu rõ ràng và tập trung. Điều này làm cho mã dễ hiểu hơn, giúp duy trì và gỡ lỗi dễ dàng hơn, cũng như chia sẻ với các lập trình viên khác trong nhóm của bạn.
Và
Điều thú vị về các cửa hàng không đồng bộ là mặc dù rất nhiều đối tượng đang thực hiện nhiều công việc để xử lý một yêu cầu, luồng yêu cầu và phản hồi của nó nằm ở một nơi trong bộ điều khiển. Điều này mang lại cho chúng ta lợi ích của mã dễ đọc và cũng dễ sửa đổi.
Tôi muốn tìm hiểu thêm về mẫu này và xem những gì người khác có thể nói về nó, nhưng trong khi tìm kiếm trực tuyến, các tài liệu tham khảo duy nhất tôi có thể tìm thấy là cùng một cuốn sách đó (có phải là mẫu có thể được biết bởi một tên khác không?).
Đối với tôi, logic của tác giả có vẻ hợp lý và có vẻ như là một phần mở rộng logic của mẫu MVC thông thường, nhưng có lẽ đó là vì tôi không thực sự có nhiều kinh nghiệm với mẫu MVC trong thực tế (ngoài việc phát triển iOS tôi có loại MVV được sử dụng với backbone.js (nghĩa là, nếu bạn xem nó là MVC )).
Tôi đã hy vọng rằng có lẽ ai đó có nhiều kinh nghiệm hơn có thể làm sáng tỏ liệu có bất kỳ sai sót / vấn đề rõ ràng nào với mẫu MVCS mà tôi đang thiếu.