[請益] MVC求觀念指導?

作者: RINPE (RIN)   2018-05-02 21:35:28
MVC的Model是說要做到數據的處理
V就是UI相關的設定(frame、color 之類的)
C就是接收V傳的Event,並要求M做數據處理
其實有點不太懂M這部分要做到什麼地步
看很多教學都只有幾個變數
Class Model{
var name:String
var number:Int
Init(){}
}
類似這樣
那一般做api的解析時,會在M裡面做嗎(同個class)
還是多一個api class 解析把response 的結果再提供M處理後提供給C?
哪個會比較好
Github 上有推薦的架構實作嗎?
再麻煩各位指教了
作者: shinrenpan (iOS5)   2018-05-02 21:57:00
可以 google 胖model 或是瘦model區別
作者: uranusjr (←這人是超級笨蛋)   2018-05-02 21:57:00
都可以, MVC 只是一個原則, 沒有規定一定要怎樣, 只要你覺得合理就好 (至於怎樣合理就只能靠經驗)根據這三個部份的解讀不同也衍生出 MVVM MVCS MVP 等等
作者: yuanruo (罪を憎んで人を憎まず)   2018-05-03 03:11:00
邏輯拉到model做只是減輕VC負擔, M只定義就VC一大堆邏輯又因為太多邏輯放到M作就有人開始拆開~就演變成MVVM等只要做到解藕~復用性高~可測試~基本上就是不錯的架構了
作者: powerwolf543 (NixonShin)   2018-05-06 01:36:00
Model最好是不要有任何邏輯
作者: tom19830924 (Tom Hsu)   2018-05-09 10:25:00
我想藉這篇問一下 MVP與MVVM架構差在哪邊之前我將VM與V之間使用block callback 以為就是MVVM結果被人說這叫MVP模式 MVVM架構應該是要binding可是binding不是也算是一種形式上的callback嗎
作者: yuanruo (罪を憎んで人を憎まず)   2018-05-10 16:30:00
ViewModel是用Observer方式用view去Subscript它當viewmodel變動時,View會跟據observer變動UIcallback機制就是反過來做了 所以是MVP的概念
作者: G888888   2018-05-10 17:54:00
如果model不要有邏輯,那邏輯會在哪做呀~?
作者: ch30529 (主人)   2018-05-11 21:54:00
Model Controller啊官方手冊有寫
作者: G888888   2018-05-12 00:00:00
ViewController 也算是ModelController嗎?還是說另外開一個swift檔專門處理
作者: ch30529 (主人)   2018-05-14 12:34:00
另外開一個
作者: panga0820 (Will)   2018-05-18 10:36:00
我建議,再開一個 class 專門處理 parser 這件事會比較好。假如您的 model 定義是資料,那就不會跟 parser有關係!
作者: Blueshiva (龍野南雲)   2018-05-18 11:53:00
如果使用Codable,那parser基本上就會綁在model裡了
作者: panga0820 (Will)   2018-05-18 23:33:00
Hi Blueshiva ,Model 繼承 Codeable,parser 不是也不會跟 model 有關係不是嗎?

Links booklink

Contact Us: admin [ a t ] ucptt.com