如何設計乙個好的Model與Controller(MVC)?

時間 2021-06-17 19:16:34

1樓:騰飛

我的看法是別太硬套MVC吧!還有設計模式,那些只是培養你軟體架構,解藕的這些常用方法,把那些融入但你的思維當時方式中就行。記得一些最基本的原則,解藕,解藕,解藕

對於MVC,實際上就是把顯示和資料處理分離,顯示和使用者互動分離。view只負責現實,根據資料來顯示內容。什麼時候需要重新整理,由control來通知。

使用者互動時通知control,然後改變資料……讓每一部分做的事情盡可能的少並且專一。這樣的話,後期改動,就有清晰的思路了,同時各個模組之間的影響盡可能少……

2樓:丁力

MVC實際就是提供了一種解藕的思路,還有很多其他方法。但是都遵循物件導向設計。可以看一下《Head First 設計模式》這本書,比較白話了。

這種東西需要理論和經驗結合才能有所感悟,不建議刻意追求,遇到問題解決即可。在我的團隊內部我也是這樣要求的。

3樓:李世遠

其實像這種模式都是類似,解耦解耦解耦. 重要的事情要說三次。

怎麼解耦呢,很簡單,就是介面的問題了,某個玩意就要有某個玩意的作用,放到哪都能用,只需呼叫介面就行。MVC也是這樣,專注於邏輯資料的Model,顯示介面布局的View,還有操作控制的Controller。

像View吧,什麼檢視的布局繪製展現什麼的都是包在裡面的,就露個介面就行,你想改個背景,寫個方法啊,setBGColor:啥的,想要響應事件,寫個方法啊,反正就是能保留的控制項就保留,能暴漏的方法就暴露

其實iOS中controller比較咋,你看看名稱就知道了viewcontroller,,再不會造成業務麻煩,也不會造成誤導的情況下,能省力還是省力吧╮(╯▽╰)╭。

要是想提高,就練練自己的提取能力吧,找個專案,把裡面的東西分類,看能不能分成除資料交換或操作提交之外的完全不相干的內容模組,就是封裝,封裝,在封裝。做得多了自然就熟了。

Socket是乙個好的設計嗎?

Djvu 單獨說socket沒有意思,更多的是要考慮TCP網路棧。評價乙個東西好不好,先看看其產生的背景,TCP最開始是用於網路盒子的控制層的,所以說它其實更擅長的是control plane,而不是data plane。再回到題主的答案,從現在的角度看就是設計不是特別特別合理。因為當今我們對dat...

如何與乙個沒有想法的平面設計師交流?

西瓜 第一你可以告訴他,這個作品沒有提現出產品的價值和定位,那麼設計師可能回來找你交流了,設計師很多的是站在設計角度去考慮問題,比如怎麼提現的更完美了 知合空間 溝通是乙個很大的問題,雙方事先就沒有溝通好,當然出現不了好的作品了,這是個很大的問題,設計師嫌棄甲方不停改稿,但是樓主問題不是這個。是先說...

如何選擇乙個好的網域名稱? 拼音與英文,哪個更好?

cn代表中國很多國企普遍還是使用這個字尾做管方。真要不知道選什麼樣的或你想要的被占用了那就選乙個吉利易記易輸入的。比如說數字。前天兩逛易名的時候就發現了乙個51 88點CN的。這個從品相來看還是輸入便捷程度以記易記優勢都非常的好。而且自帶流量。吉利適合做任何平台通用性極強,你要需要可以去了解一下! ...