關(guān)于設(shè)計(jì)模式


關(guān)于iOS六大基本設(shè)計(jì)模式

(1)Model-View-Controller,即模型-視圖-控制器模式,是iOS程序的主要構(gòu)架,將您的代碼分割為幾個(gè)獨(dú)立的部分。模型部分定義應(yīng)用程序的數(shù)據(jù)引擎,負(fù)責(zé)維護(hù)數(shù)據(jù)的完整性;視圖部分定義應(yīng)用程序的用戶(hù)界面,對(duì)顯示在用戶(hù)界面上的數(shù)據(jù)出處則沒(méi)有清楚的認(rèn)識(shí);控制器部分則充當(dāng)模型和控制器的橋梁,幫助實(shí)現(xiàn)數(shù)據(jù)和顯示的更新。

(2)Delegation,即委托模式,這個(gè)設(shè)計(jì)模式有助于一個(gè)對(duì)象的數(shù)據(jù)傳輸?shù)搅硪粋€(gè)對(duì)象。委托模式可以對(duì)復(fù)雜對(duì)象進(jìn)行修改而不需要子類(lèi)化。與子類(lèi)化不同的是,您可以照常使用復(fù)雜對(duì)象,而將對(duì)其行為進(jìn)行修改的定制代碼放在另一個(gè)對(duì)象中,這個(gè)對(duì)象就稱(chēng)為委托對(duì)象。復(fù)雜對(duì)象需要在預(yù)先定義好的時(shí)點(diǎn)上調(diào)用委托對(duì)象的方法,使其有機(jī)會(huì)運(yùn)行定制代碼。

(3)Target-action,這個(gè)設(shè)計(jì)模式用按鈕等控件把用戶(hù)的交互變成代碼,讓程序可以執(zhí)行。控件通過(guò)目標(biāo)—?jiǎng)幼髂J綄⒂脩?hù)的交互通知給您的應(yīng)用程序。當(dāng)用戶(hù)以預(yù)先定義好的方式(比如輕點(diǎn)一個(gè)按鍵)進(jìn)行交互時(shí),控件就會(huì)將消息(動(dòng)作)發(fā)送給您指定的對(duì)象(目標(biāo))。接收到動(dòng)作消息后,目標(biāo)對(duì)象就會(huì)以恰當(dāng)?shù)姆绞竭M(jìn)行響應(yīng)。

(4)Protocol,可以認(rèn)為是java中的接口。在iOS中有兩種protocol。一種是正式的,一種是非正式的。正式的protocol,是對(duì)objc語(yǔ)言的擴(kuò)展。通過(guò)interface聲明,可以強(qiáng)制實(shí)現(xiàn)或者可選實(shí)現(xiàn)。非正式的protocol是NSObject的一個(gè)category,category是objc語(yǔ)言的一個(gè)特性,可以讓你為一個(gè)類(lèi)增加方法而不需要實(shí)現(xiàn)子類(lèi)。非正式protocol實(shí)現(xiàn)方法是可選的。

(5)notification,即一個(gè)通知,是一個(gè)消息,是用于通知一到多個(gè)觀察者對(duì)象程序當(dāng)前有一個(gè)事件發(fā)生。這里,接收通知的一方叫觀察者,observer。實(shí)際上是觀察者模式。 這里,發(fā)送通知的對(duì)象,并不知道誰(shuí)會(huì)收到這個(gè)通知。這樣通知者和觀察者之間松散耦合。

(6)declared properties,字面意思是聲明的屬性。自動(dòng)幫添加get、set方法。


給你個(gè)驚喜

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 簡(jiǎn)介 項(xiàng)目開(kāi)發(fā)中發(fā)現(xiàn)問(wèn)題、解決問(wèn)題這個(gè)過(guò)程中會(huì)出現(xiàn)很多問(wèn)題,比如重復(fù)出現(xiàn)、某個(gè)問(wèn)題的遺留,這些問(wèn)題的本質(zhì)就是設(shè)計(jì)模...
    零寬度接合閱讀 241評(píng)論 0 0
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,242評(píng)論 25 708
  • (一) 一開(kāi)始我打算好好研究常見(jiàn)的幾種設(shè)計(jì)模式,搞清楚他們各自適用的場(chǎng)景,方便以后懂得運(yùn)用在項(xiàng)目中,讓代碼更優(yōu)雅。...
    小阿拉閱讀 1,269評(píng)論 0 8
  • *面試心聲:其實(shí)這些題本人都沒(méi)怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來(lái)就是把...
    Dove_iOS閱讀 27,210評(píng)論 30 471
  • 電影是利用人眼晴器官功能的有限性而產(chǎn)生的(錯(cuò)覺(jué))影像,其實(shí)人運(yùn)轉(zhuǎn)的思想、看到的物體以及產(chǎn)生的位置感等等也如同電影成...
    金剛劇場(chǎng)閱讀 548評(píng)論 1 0