盡早開始開發(fā)的低耦合的VIPER架構(gòu)

如果你寫死類型,就是程序在玩你逗柴。

如果你多用協(xié)議對象,就是你在玩程序亡嫌。

稍為正規(guī)一點的產(chǎn)品開發(fā)流程的第一步嚎于,應該是產(chǎn)品經(jīng)理給出原型圖,類似于下面這樣子(圖片引用自網(wǎng)絡挟冠,如有侵權于购,請第一時間告知,我會盡快撤掉知染,謝謝)

原型圖

然后肋僧,第二步是由設計師給出效果圖,類似于下面這樣子:(圖片引用自網(wǎng)絡控淡,如有侵權嫌吠,請第一時間告知,我會盡快撤掉掺炭,謝謝)


效果圖

大家可以看到辫诅,這兩者中間的差異非常大,如果等效果圖出來后才開始開發(fā)涧狮,將會浪費前面的太多時間炕矮。但是,如果在原型圖出來后者冤,就直接開始開發(fā)肤视,一不小心,后期就會是沒完沒了的反復修改涉枫。


VIPER

(圖片引用自網(wǎng)絡邢滑,如有侵權,請第一時間告知愿汰,我會盡快撤掉困后,謝謝)

VIPER,通過把APP架構(gòu)劃分為線框尼桶、視圖操灿、展示、交互泵督、實體趾盐、數(shù)據(jù)六個層次,使得開發(fā)工作可以在最早的時候就參與進來,并且完全可以開發(fā)出后面無須改變的整體架構(gòu)代碼救鲤。

使用VIPER架構(gòu)久窟,可以在AppDelegate里通過唯一的一個實例對象管理整個APP的依賴,并且非常直觀地管理整個APP的實例對象關系本缠。

我在實際使用過程中斥扛,因為不希望依賴及實例管理類過于龐大以及提高代碼復用率,把依賴管理和實例管理的代碼分散到各個線框?qū)拥念惱锩娴で隆C恳粋€縱向的業(yè)務所包含的類的依賴和實例管理稀颁,都交由各自的業(yè)務線框來完成。

通過視圖楣黍、事件匾灶、交互三組協(xié)議的協(xié)議對象,使得視圖顯示租漂、事件處理阶女、交互數(shù)據(jù)這三塊的類可以得到徹底分離。未來面對APP功能修改或增加時,將會變得非常容易,代碼變化被約束到了最小的范圍尤揣。

隨著對VIPER架構(gòu)的日漸熟悉,我越來越感受到協(xié)議對象的好處憔杨。通過協(xié)議對象的大量使用,每個類都可以也應該做成功能相對單一蒜胖,專職專責芍秆,代碼復用成本迅速降低。

通過越來越多的“單一職責”類的積累翠勉,將會極大地提高開發(fā)工作的效率和質(zhì)量。

歡迎大家跟我討論VIPER架構(gòu)的相關問題霉颠,我會將我所知道的所有VIPER方面的知識和經(jīng)驗分享給大家:)

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

我一直猶豫要不要寫后記,因為一直以來蒿偎,我的文字都會寫很多我自己的生活經(jīng)歷和思考朽们。這一塊有相當一部分朋友并不喜歡,認為我只需要把技術分享出來就可以了诉位,沒有人對我的生活和思考有任何興趣骑脱。

后來,我覺得相對于技術的分享苍糠,我的生活和思考叁丧,才是日后對我真正有意義的東西。但為了不影響只關心技術的朋友,所以才有上面一開始的“后記聲明”拥娄。

因為最近投簡歷上的一些經(jīng)歷蚊锹,促使我打算每天寫技術博客,最簡單的目的自然是為了記錄和展示自己的所學所知稚瘾。更深一層的目的是希望自己能保持一個表達的習慣牡昆,把腦袋里的所有信息都清出來,這樣才方便我去思考新的信息摊欠。當然丢烘,以我的經(jīng)驗,只要我堅持表達些椒,就可以得到源源不斷的幫助和機會播瞳。

為了不讓自己在表達上有過多的壓力,我給自己定了一個非常低的指標:100字摊沉。今天當然已經(jīng)超了狐史,光技術這一塊就有600多字。希望自己可以一直寫下去说墨。從記錄自己的開發(fā)工作和技術閱讀開始骏全,一直寫下去。

今天兒子被非常臟的公共浴室給嚇哭了尼斧,我得快點多賺點錢給老婆兒子換更好的房子住才行姜贡。

今天跟粉絲群里的朋友聊了一下,怎樣才能更好的積累技術棺棵?目前我自己的結(jié)論還是:快速做一個簡單的框架楼咳,然后每天每事每處反復去完善它。希望在技術積累上可以不斷地提速:)

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末烛恤,一起剝皮案震驚了整個濱河市母怜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌缚柏,老刑警劉巖苹熏,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異币喧,居然都是意外死亡轨域,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門杀餐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來干发,“玉大人,你說我怎么就攤上這事史翘⊥鞒ぃ” “怎么了冀续?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長搀暑。 經(jīng)常有香客問我沥阳,道長,這世上最難降的妖魔是什么自点? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任桐罕,我火速辦了婚禮,結(jié)果婚禮上桂敛,老公的妹妹穿的比我還像新娘功炮。我一直安慰自己,他們只是感情好术唬,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布薪伏。 她就那樣靜靜地躺著,像睡著了一般粗仓。 火紅的嫁衣襯著肌膚如雪嫁怀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天借浊,我揣著相機與錄音塘淑,去河邊找鬼。 笑死蚂斤,一個胖子當著我的面吹牛存捺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播曙蒸,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼捌治,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了纽窟?” 一聲冷哼從身側(cè)響起肖油,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎臂港,沒想到半個月后构韵,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡趋艘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了凶朗。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓷胧。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖棚愤,靈堂內(nèi)的尸體忽然破棺而出搓萧,到底是詐尸還是另有隱情杂数,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布瘸洛,位于F島的核電站揍移,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏反肋。R本人自食惡果不足惜那伐,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望石蔗。 院中可真熱鬧罕邀,春花似錦、人聲如沸养距。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽棍厌。三九已至肾胯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間耘纱,已是汗流浹背敬肚。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留揣炕,地道東北人帘皿。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像畸陡,于是被迫代替她去往敵國和親鹰溜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

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