IOS開發(fā)過程中常用的設(shè)計模式

當(dāng)下IOS開發(fā)的過程中恤溶,常用的設(shè)計模式有:單例模式乓诽、委托模式、觀察者模式和MVC模式咒程;

一问裕、單例模式

我們平時常用的UIApplication 、 NSUserdefaults 孵坚、 NSNotificationCenter這些類都是單例粮宛。單例模式的作用是解決應(yīng)用中只有一個實例的一類問題;

1卖宠、UIApplication,這個實例代表了整個應(yīng)用程序?qū)ο笪¤荆荒苁且粋€實例,來實現(xiàn)應(yīng)用程序中一些共享資源的訪問和狀態(tài)保持等等扛伍。例如:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://110"]];來調(diào)用系統(tǒng)撥打110筷畦;

2、NSUserdefaults 刺洒,這個實例可以方便的保存應(yīng)用程序的一些設(shè)置鳖宾,持久化保存一些需要的數(shù)據(jù),[[NSUserDefaults standardUserDefaults] setObject:@"張三"forKey:@"name"];

3逆航、NSNotificationCenter鼎文, 這個實例指的是通知中心,發(fā)出通知因俐,并可以傳遞數(shù)據(jù)拇惋;

二、委托模式

委托模式是為了降低一個對象的復(fù)雜程度和耦合度抹剩,使其能夠更具有通用性而將其中的一些處理至于委托對象中的編碼方式撑帖。就是指定代理協(xié)議,將一些“事件”“委托給”遵循了協(xié)議代理的別的類進(jìn)行處理澳眷;

三胡嘿、觀察者模式

觀察著模式也可以叫做:訂閱模式 或 發(fā)布模式,類似于我們現(xiàn)在訂閱微信公眾號钳踊;觀察者模式的具體應(yīng)用有兩個:通知機(jī)制(Notification)和 KVO機(jī)制 (key-value-observing).

1衷敌、通知機(jī)制:投送者發(fā)出通知-->通知中心,然后通知中心-->一個或多個接受者箍土,最后由接受者將解除通知的指令-->通知中心逢享;其中罐监,要注意的是:接收者注冊的通知name必須與投送者注冊的通知name相同吴藻。?

通知機(jī)制可以讓我們很方便的監(jiān)聽某些事件的發(fā)生,并可以傳遞一些需要的值弓柱;

2沟堡、KVO模式侧但。

四、MVC模式

Model 航罗,指的是數(shù)據(jù)類型禀横,通常用來處理業(yè)務(wù)邏輯,將數(shù)據(jù)傳輸給控制器粥血。

View 柏锄,指的是視圖,通過控制器傳來的數(shù)據(jù)進(jìn)行數(shù)據(jù)更新展示信息界面复亏。

Controller 趾娃,即控制器,接收用戶請求缔御,根據(jù)請求更新模型抬闷,繼而更新視圖來響應(yīng)用戶請求,是控制器視圖和模型的媒介耕突,可以降低視圖和數(shù)據(jù)模型的耦合度

如下圖:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末笤成,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子眷茁,更是在濱河造成了極大的恐慌炕泳,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件上祈,死亡現(xiàn)場離奇詭異喊崖,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)雇逞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進(jìn)店門荤懂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人塘砸,你說我怎么就攤上這事节仿。” “怎么了掉蔬?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵廊宪,是天一觀的道長。 經(jīng)常有香客問我女轿,道長箭启,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任蛉迹,我火速辦了婚禮傅寡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己荐操,他們只是感情好芜抒,可當(dāng)我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著托启,像睡著了一般宅倒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屯耸,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天拐迁,我揣著相機(jī)與錄音,去河邊找鬼疗绣。 笑死唠亚,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的持痰。 我是一名探鬼主播灶搜,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼工窍!你這毒婦竟也來了割卖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤患雏,失蹤者是張志新(化名)和其女友劉穎鹏溯,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體淹仑,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡丙挽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年侧甫,在試婚紗的時候發(fā)現(xiàn)自己被綠了损趋。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冤灾。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蝎亚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出兽肤,到底是詐尸還是另有隱情叉讥,我是刑警寧澤捶障,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布是鬼,位于F島的核電站肤舞,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏均蜜。R本人自食惡果不足惜李剖,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望囤耳。 院中可真熱鬧篙顺,春花似錦偶芍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽聪铺。三九已至化焕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間铃剔,已是汗流浹背撒桨。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留键兜,地道東北人凤类。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像普气,于是被迫代替她去往敵國和親谜疤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,647評論 2 354

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

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,139評論 30 470
  • ios開發(fā)學(xué)習(xí)中现诀,經(jīng)常弄不清楚ios的開發(fā)模式夷磕,今天我們就來進(jìn)行簡單的總結(jié)和探討~(一)代理模式應(yīng)用場景:當(dāng)一個類...
    貝勒老爺閱讀 1,298評論 1 8
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)仔沿,斷路器坐桩,智...
    卡卡羅2017閱讀 134,652評論 18 139
  • 一 iOS中都有什么設(shè)計模式成福? 1.代理模式 2.觀察者模式 3.MVC模式 4.單例模式 5.策略模式 6.工廠...
    炸街程序猿閱讀 974評論 0 2
  • 1.屬性readwrite碾局,readonly,assign奴艾,retain擦俐,copy,nonatomic 各是什么作...
    曾令偉閱讀 1,052評論 0 10