天天看點

Swift語言精要 - 淺談代理模式(Delegate)

在iOS程式設計中,我們經常談到代理代理,也就是delegate,那麼什麼是代理呢?

我們來看一下cocoa對它的描述:

Delegation is Cocoa’s term for passing off some responsibilities of an object to another

顧名思義:

代理是把職責從一個對象傳到另一個對象。

其實,如果編寫過Java或者C#程式的朋友應該知道,我們在設計的時候經常使用到接口群組合,道理是一樣的。

看一下下面的代碼:

首先,我們定義一個協定

然後,我們把這個協定組合到我們的業務邏輯類中去

接着,我們實作協定的不同表現形态

然後,我們把我們的協定實作類注入到我們的業務類中去(DI - Dependency Injection)

很簡單吧,就是這麼簡單!

技術改變世界