我總是發現有衝突的信息,沒有權威性,沒有足夠具體的解釋我和我兄弟正在爭論的確切問題。那麼有人可以把這個問題休息一下,並希望用一些權威類型的文檔?模型視圖控制器 - 誰做什麼?
簡而言之: MVC中的3個組件中的哪一個負責確定要顯示在屏幕上的對象的大小和位置?
我總是發現有衝突的信息,沒有權威性,沒有足夠具體的解釋我和我兄弟正在爭論的確切問題。那麼有人可以把這個問題休息一下,並希望用一些權威類型的文檔?模型視圖控制器 - 誰做什麼?
簡而言之: MVC中的3個組件中的哪一個負責確定要顯示在屏幕上的對象的大小和位置?
MVC的關鍵是試圖實現類之間的鬆散耦合。這是通過應用幾種模式完成的(MVC是一種複合模式,意味着它是其他幾種模式的組合)。
在這裏您可以找到「在視圖&控制器之間的策略」,「視圖上的複合」和「視圖/控制器之間的觀察器」。
有很多的這一切應該如何處理辯論,但總稱是這樣的:
事情發生在視圖 - >查看通知控制器
-> Controller asks Model to change data
-> Controller asks View to update display
-> Model informs View state has changed
-> View pulls data from model
^這是用拉被認爲是「更正確」的觀察者模式,但它確實是一條非規則的指導原則。牢記這一點,視圖負責視圖對象的位置(使用複合模式),而控制器只是一個插件,因此操作知道如何發送到模型。這允許在視圖&控制器之間輕鬆切換。 (這會產生雙向關聯性,但這是另一回事)
我非常確定,讓模型與視圖進行交談是一個不容否認的問題。我不認爲它應該知道這個觀點的存在......但正如你所說,似乎有爭論,這就是我問的原因!雖然我沒有看到我的問題的確切答案。 – CodeMonkey
對不起,但的確,有些人希望觀看/模特不知道彼此的存在,而其他人則是這樣。我一直都是通過讓他們知道彼此而學會的,然後在大學裏講師之間真的有不同的看法:) –
控制器執行此操作。查看在iTunes中爲iPhone和iPad開發iOS 7應用程序您,視頻1 ... Class物流,iOS,MVC,Objective-C概述Objective-C – DogCoffee
您是指html元素大小? – LINQ2Vodka
我指的是要顯示的圖像的大小,要顯示的按鈕或者在屏幕上看到的任何其他可見的人爲因素。 – CodeMonkey