ViewController四層依賴的處理

時間可以消滅一切。

上回講到(我是在講武俠故事嗎苞氮,笑哭)埃碱,ViewController的事件(或者我們更一般化地稱為消息),分四層處理:View/API/Store/Route切威。View這塊,視圖本身會由ViewController管理丙号。而視圖的數(shù)據(jù)處理則會單獨扔給對應的ViewModel先朦。

通過四個屬性對象,把原來在ViewController里處理的代碼扔到四個不同地方犬缨。自然地喳魏,相應的類型依賴也被引出到四個不同地方。
這樣可以避免ViewController類型依賴太多遍尺、代碼太多太復雜的問題截酷。
如果這個屬性對象使用指定類型來聲明涮拗,ViewController就必須引入四個類型的依賴乾戏。
有沒有辦法可以連這四個類型都不依賴迂苛?

通過協(xié)議對象 id<protocol>object。
這樣鼓择,我們只需要引入四個協(xié)議就可以了三幻。可以在運行時更換任意遵守協(xié)議的對象來對ViewController的同一事件做不同的處理呐能,這樣就可以減少選擇判斷的代碼念搬。
那,協(xié)議對象的代理對象摆出,在什么地方指定呢朗徊?

初始化ViewController的地方。我們還是會在一個地方引入ViewController偎漫、ViewModel爷恳、APIHandle、StoreHandle象踊、RouteHandle的依賴温亲,然后完成它們的初始化。
因為頁面跳轉(zhuǎn)的時候杯矩,我們總是要指定跳轉(zhuǎn)目標頁面而引入目標ViewController的依賴栈虚,并完成ViewController的初始化。
所以史隆,我們把四個層次的依賴放到RouteHandle里完成魂务。

后記(下面以聊家常為主,沒時間沒興趣的朋友請直接忽略):

經(jīng)過和老婆多次反復討論泌射,目前我們大概已經(jīng)確定確實要把事情往深做头镊。然后就是怎么做的問題。
我老婆很早就想開始思考這個問題魄幕,被我一直壓住相艇。找方法容易的,方向不好定纯陨。
我在群里提了一個想法:我從2013年10月開始做iOS開發(fā)坛芽,到現(xiàn)在已經(jīng)22個月。如果這22個月翼抠,我只看Runtime咙轩,其它一切資料都不看。按我的努力程度阴颖,即使我不敢說精通Runtime活喊,起碼我也絕對敢對外宣布我熟悉Runtime,我也肯定能隨便拉個人就講上三天三夜的Runtime量愧。
而現(xiàn)在的事實是什么呢钾菊?
我除了知道“Runtime可以做一些類型帅矗、數(shù)據(jù)、屬性的動態(tài)綁定”這句話以外煞烫,其它Runtime的一切皆無所知浑此。注意,我只知道這句話滞详。對這句話的具體內(nèi)容也一無所知凛俱。
大家可以看到這里面因為選擇所導致的問題:實力的巨大差異。
為什么會造成這么巨大的差距料饥?
在我看來蒲犬,深還是廣,不是哪個更好的問題岸啡,是生和死的選擇暖哨。

好了,方向確定凰狞,下面是怎么做的問題篇裁。
以Runtime為例。
一般大家都會覺得多少有點難度赡若。但如果我說达布,我用22個月來熟悉它,不但很多人會開始覺得有可能逾冬,甚至會有不少人覺得太容易黍聂。
這里就有一個非常有趣的點:時間可以消滅一切困難。至少是一些我們常見的以為自己無能為力的困難身腻。
比如产还,書,一天看10頁當然難嘀趟。如果是一周看1頁脐区,還難嗎?有了開始的積累她按,后面要提速牛隅,還難嗎?

時間之所以能消滅一切酌泰,關鍵在于“信息疊加”媒佣。
當你對大腦進行足夠的“信息疊加”,大腦就會進化成適合處理這類信息的機器陵刹。

我兒子被公認為在“汽車”上有天賦默伍。但,參與整個實驗過程,我和老婆都非常清楚也糊,這只是因為我們順著他的興趣瘋狂地給他堆各種汽車信息導致的必然結果而已炼蹦。

在大家看來是偶然、幸運的事情显设,我們可以通過“疊加信息”讓它變成必然!

我看完了老羅2個小時的發(fā)布會辛辨。
我覺得捕捂,老羅越來越平靜了。
這種因為在深入優(yōu)化上積累而得到的“平靜的自信”斗搞,非持冈埽可怕。
多少人想毀滅他僻焚,但卻對他這種“找一個點允悦,深入優(yōu)化,再找下一個點”的無敵模式一點辦法都沒有虑啤。
“深入優(yōu)化”隙弛,在你積累還不夠多的時候,別人會覺得你非衬剑可笑全闷,天天吹牛逼,說自己優(yōu)化了這個優(yōu)化了那個萍启,結果連個基本成品都看不到总珠。
但是,當你的“深入優(yōu)化”積累多了一點點的時候勘纯,那些自以為聰明的反你人士局服,就開始有點無可奈何,看來是壓不死你了驳遵。
當你的“深入優(yōu)化”越積越多之后淫奔,對手們就崩潰了,這怎么回事堤结,什么時候強大到這樣啦搏讶。
看看蘋果就知道,對手也可以做個一樣的金表霍殴,前提是媒惕,你也發(fā)明“蘋果金”試試?我不是說你完全沒有可能做到来庭,而是這樣做的成本妒蔚,會讓很多對手都不可能做出努力的決心。

你深入,你優(yōu)化肴盏,越積越多科盛,別人跟你競爭的欲望就越來越低。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末菜皂,一起剝皮案震驚了整個濱河市贞绵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌恍飘,老刑警劉巖榨崩,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異章母,居然都是意外死亡母蛛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門乳怎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來彩郊,“玉大人,你說我怎么就攤上這事蚪缀★牛” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵询枚,是天一觀的道長筷登。 經(jīng)常有香客問我,道長哩盲,這世上最難降的妖魔是什么前方? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮廉油,結果婚禮上惠险,老公的妹妹穿的比我還像新娘。我一直安慰自己抒线,他們只是感情好班巩,可當我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嘶炭,像睡著了一般抱慌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上眨猎,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天抑进,我揣著相機與錄音,去河邊找鬼睡陪。 笑死寺渗,一個胖子當著我的面吹牛匿情,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播信殊,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼炬称,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了涡拘?” 一聲冷哼從身側響起玲躯,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鳄乏,沒想到半個月后跷车,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡汞窗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年姓赤,在試婚紗的時候發(fā)現(xiàn)自己被綠了赡译。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仲吏。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蝌焚,靈堂內(nèi)的尸體忽然破棺而出裹唆,到底是詐尸還是另有隱情,我是刑警寧澤只洒,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布许帐,位于F島的核電站,受9級特大地震影響毕谴,放射性物質(zhì)發(fā)生泄漏成畦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一涝开、第九天 我趴在偏房一處隱蔽的房頂上張望循帐。 院中可真熱鬧,春花似錦舀武、人聲如沸拄养。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瘪匿。三九已至,卻和暖如春寻馏,著一層夾襖步出監(jiān)牢的瞬間棋弥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工诚欠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嘁锯,地道東北人宪祥。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像家乘,于是被迫代替她去往敵國和親蝗羊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)至元數(shù)據(jù)結尾創(chuàng)建: 董瀟偉仁锯,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 1,709評論 0 9
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,095評論 25 707
  • __block和__weak修飾符的區(qū)別其實是挺明顯的:1.__block不管是ARC還是MRC模式下都可以使用耀找,...
    LZM輪回閱讀 3,309評論 0 6
  • 時常會想,為什么我常感覺是在與世界抗爭著业崖,小時候的孤獨野芒,大學的寂寞,工作時的無助感双炕,這些負面情緒促始我要用一種抗爭...
    Lu_deb0閱讀 523評論 0 0
  • 加油狞悲!人生新的開始,向著光明美好的地方前進妇斤,前進摇锋!
    平仙冰俏閱讀 121評論 0 0