Ví dụ: Giả sử tôi đang lấy danh sách tên và lưu nó vào NSMutableArray. Tôi có thực hiện phương pháp thực sự gọi máy chủ để lấy dữ liệu trong bộ điều khiển (UIViewController) hoặc mô hình (đối tượng Bạn bè) không?Bộ điều khiển chế độ xem mô hình: Bộ điều khiển hoặc Mô hình có lấy dữ liệu ra khỏi máy chủ không?
Bộ điều khiển chế độ xem mô hình: Bộ điều khiển hoặc Mô hình có lấy dữ liệu ra khỏi máy chủ không?
Trả lời
Đó là một quyết định thiết kế phụ thuộc vào những gì bạn đang cố gắng hoàn thành. Nếu mô hình của bạn chỉ có ý nghĩa trong ngữ cảnh của một dịch vụ hoặc nếu bạn muốn mô hình của mình cung cấp quyền truy cập vào tất cả dữ liệu trên máy chủ, thì hãy tạo kết nối với máy chủ vào mô hình dữ liệu của bạn. Điều này có thể có ý nghĩa nếu bạn đang, ví dụ, xây dựng một khách hàng cho một dịch vụ như Twitter hoặc Flickr.
Mặt khác, nếu bạn chỉ lấy một tập tin từ một máy chủ và đó là kết thúc của nó, nó có thể làm cho tinh thần để làm các thông tin liên lạc trong bộ điều khiển. Bộ điều khiển có xu hướng ít có thể tái sử dụng hơn và tùy biến hơn cho hành vi cụ thể của ứng dụng. Giữ các chi tiết cụ thể về nơi dữ liệu đến từ mô hình làm cho mô hình có thể sử dụng lại được. Nó cũng làm cho nó dễ dàng để kiểm tra - bạn có thể viết mã kiểm tra mà chỉ cần đọc một tập tin địa phương và lưu trữ dữ liệu trong mô hình.
Đây là những gì tôi nhận được, +1 – Nektarios
Đây không phải là lý do duy nhất để đưa ra quyết định, nhưng việc liên lạc với máy khách trong bộ điều khiển cũng có lợi thế là bạn có thể không cần triển khai [thông báo] (https : //developer.apple.com/library/ios/documentation/general/conceptual/devpedia-cocoacore/MVC.html) cơ chế từ mô hình đến bộ điều khiển. – Drux
Đó là một câu hỏi hay. Tôi nghĩ cách tốt nhất là thông qua một bộ điều khiển bởi vì nó tách riêng mô hình của bạn khỏi việc yêu cầu mô hình khác có mặt để nó hoạt động đúng cách. Mặc dù tôi không nghĩ rằng bạn vi phạm "mvc thích hợp" bằng cách thực hiện nó trong mô hình.
Tôi nghĩ bạn muốn đặt nó trong mô hình. Những gì bạn sẽ làm là thẩm vấn mô hình cho dữ liệu và sau đó mô hình sẽ xử lý cách tự cư trú cho dù đó là từ kho lưu trữ dữ liệu nội bộ hay mô hình bên ngoài (như máy chủ).
Một cách tiếp cận là sử dụng mẫu kho lưu trữ. Để làm điều này, bạn tạo các đối tượng Repository trong thư mục Model của bạn và bạn đặt tất cả các phương thức liên quan đến cơ sở dữ liệu vào chúng. Bộ điều khiển của bạn gọi các lớp kho lưu trữ để lấy dữ liệu. Điều này cho phép bạn tách các đối tượng mô hình thực khỏi các phương thức truy cập cơ sở dữ liệu.
tôi sử dụng mô hình MVCS (MVC-Store), mà tôi phát hiện ra trong cuốn sách của Aaron Hillegass của "IOS Lập trình: The Big Nerd Ranch Hướng dẫn" (http://www.bignerdranch.com/book/ios_programming_the_big_nerd_ranch_guide_rd_edition_)
Các cửa hàng được thiết kế đặc biệt để lấy dữ liệu, cho dù dữ liệu đến từ máy chủ, tệp cục bộ, bộ sưu tập liên tục, cơ sở dữ liệu, v.v.
Nó cho phép tạo các ứng dụng rất phát triển. Ví dụ, bạn có thể xây dựng ứng dụng của bạn dựa trên một dịch vụ web và ngày bạn muốn lưu dữ liệu của mình, bạn chỉ cần sửa đổi cửa hàng mà không phải sửa đổi một dòng mã trong bộ điều khiển của mình.
Nó rất giống Pattern Repository (http://msdn.microsoft.com/en-us/library/ff649690.aspx) (cf BobTurbo của câu trả lời)
Cá nhân tôi muốn làm cho một DAO, hoặc lớp dữ liệu helper. Rất khó để theo sát MVC nghiêm ngặt trong mục tiêu C khi mọi thứ trở nên phức tạp hơn. Tuy nhiên, đặt nó vào mô hình hoặc VC cũng không sai.
- 1. MVC: Trình điều khiển chế độ xem mô hình - Chế độ xem có gọi là Mô hình không?
- 2. CanCan và bộ điều khiển không có mô hình
- 3. Giao tiếp giữa Mô hình và Bộ điều khiển - iOS
- 4. Nơi đặt mã Rails không phải là mô hình, chế độ xem, bộ điều khiển hoặc trình trợ giúp?
- 5. Mô hình Django MVC cho các mô hình không được cơ sở dữ liệu điều khiển?
- 6. Mô hình hoặc bộ điều khiển có chịu trách nhiệm gửi email không?
- 7. Vẽ đường thẳng giữa mô hình và Bộ điều khiển
- 8. MVC: Mô hình hoặc Bộ điều khiển có hợp lệ hóa đầu vào của người dùng
- 9. Ajax.ActionLink đăng toàn bộ mô hình từ chế độ xem?
- 10. Truyền dữ liệu từ Bộ điều khiển MVC sang Chế độ xem trong PHP
- 11. ember.js - mẫu điều khiển/chế độ xem chính xác để tạo mô hình mới
- 12. Cách bật từ một bộ điều khiển chế độ xem sang một bộ điều khiển chế độ xem khác
- 13. Spring MVC - mô hình truyền giữa các bộ điều khiển
- 14. Hiển thị chế độ xem của bộ điều khiển khác
- 15. Có một bộ điều khiển xem khác trước khi bộ điều khiển chế độ xem hiện tại xuất hiện
- 16. Đường ray: Bộ điều khiển Skinny so với Mô hình chất béo, hoặc tôi có nên làm cho Bộ điều khiển của tôi bị Anorexic không?
- 17. Truyền dữ liệu từ bộ điều khiển chế độ xem này sang bộ điều khiển chế độ xem khác; iOS <= 4 so với iOS 5
- 18. Cách tiếp cận tốt nhất để tách riêng Mô hình, Chế độ xem và Bộ điều khiển
- 19. Trình quản lý thống kê Ember, bộ điều khiển, chế độ xem, mô hình: cách liên kết chúng với nhau?
- 20. Loại bỏ hai bộ điều khiển chế độ xem
- 21. Thêm chế độ xem của trình điều khiển chế độ xem con vào chế độ xem phụ của bộ điều khiển chế độ xem cha mẹ
- 22. Làm cách nào để xóa chế độ xem khỏi bộ điều khiển điều hướng
- 23. MVC nơi logic nên đi Bộ điều khiển hoặc Chế độ xem
- 24. MVC - tôi có cần sử dụng Bộ điều khiển trong Chế độ xem không?
- 25. Làm cách nào để truyền dữ liệu từ bộ điều khiển đến mô hình với Ruby on Rails?
- 26. Đi từ Bộ điều khiển đến Chế độ xem
- 27. Mô hình chế độ xem chung?
- 28. Nhiều bộ điều khiển chế độ xem trên màn hình cùng một lúc?
- 29. Thêm chế độ xem tùy chỉnh ở trên bộ điều khiển thanh tab/bộ điều khiển điều hướng?
- 30. (UIView *) hitTest trong bộ điều khiển chế độ xem?
Phải ở dạng Mô hình. – doNotCheckMyBlog