Baru-baru ini saya memutuskan untuk mulai belajar Pengembangan iOS, dan sampai saat ini saya telah membaca Pemrograman iOS: Panduan Peternakan Besar Nerd . Dalam buku ini penulis menggambarkan pola desain MVCS - Model-View-Controller-Store , ide dasarnya adalah bahwa karena banyak aplikasi menggunakan berbagai sumber data eksternal, menjaga logika permintaan dalam pengontrol dapat menjadi sangat berantakan, sebaliknya penulis mengusulkan bahwa memindahkan semua logika permintaan dari controller dan ke objek yang terpisah.
Singkatnya mengutip buku
Model-View-Controller-Store menempatkan logika permintaan ke objek yang terpisah, dan kami menyebut objek ini toko (Gambar 28.4). Menggunakan objek toko meminimalkan kode redundan dan menyederhanakan kode yang mengambil dan menyimpan data. Yang paling penting, ini memindahkan logika untuk berurusan dengan sumber eksternal ke dalam kelas yang rapi dengan tujuan yang jelas dan fokus. Ini membuat kode lebih mudah dipahami, yang membuatnya lebih mudah untuk dipelihara dan di-debug, serta berbagi dengan programmer lain di tim Anda.
Dan
Yang keren tentang toko asinkron adalah meskipun banyak objek melakukan banyak pekerjaan untuk memproses permintaan, aliran permintaan dan responsnya ada di satu tempat di controller. Ini memberi kita manfaat kode yang mudah dibaca dan juga mudah dimodifikasi.
Saya ingin mengetahui lebih lanjut tentang pola ini dan untuk melihat apa yang mungkin orang lain katakan tentang hal itu, tetapi ketika mencari online satu-satunya referensi yang dapat saya temukan adalah untuk buku yang sama (apakah pola itu mungkin dikenal dengan nama lain?).
Bagi saya logika penulis tampaknya masuk akal, dan sepertinya perpanjangan logis dari pola MVC biasa, tetapi mungkin itu karena saya tidak benar-benar memiliki banyak pengalaman dengan pola MVC dalam praktiknya (selain dari terjun ke dalam pengembangan iOS yang saya miliki semacam MVV yang digunakan dengan backbone.js (yaitu, jika Anda menganggapnya MVC )).
Saya berharap bahwa mungkin seseorang dengan pengalaman lebih banyak dapat menjelaskan apakah ada kelemahan / masalah yang jelas dengan pola MVCS yang saya lewatkan.