一次面試被穩(wěn)到這幾個(gè)不同對(duì)象的使用場(chǎng)景。在寫(xiě)完長(zhǎng)連接服務(wù)后有新的觀點(diǎn)
在Android平臺(tái)上,我使用一對(duì)多顯識(shí)注冊(cè)方式反注冊(cè)方式。好處是通過(guò)interface能夠清楚了解到服務(wù)提供的功能。壞處也明顯,使用者必須知道服務(wù)的具體實(shí)例,耦合嚴(yán)重。
在iOS上使用notification通知。通過(guò)notification這個(gè)中間人,使用者無(wú)需關(guān)注服務(wù)在哪里。
block和delegate就類(lèi)似前面提到的interface。需要具體注冊(cè)服務(wù)的接口。
他們和所謂的一對(duì)一一對(duì)多沒(méi)有必然關(guān)系。通過(guò)集合或者字典實(shí)現(xiàn)一對(duì)多也不難。
所以個(gè)人理解delegate/block和notification的區(qū)別就是是否需要知道服務(wù)對(duì)象的存在與否。
手機(jī)碼字好累啊。。。