1.Adapter適配器模式
現(xiàn)實的問題:
現(xiàn)在有一個下載功能,以前是自己服務器實現(xiàn)的,如果寫了一個downloadManger具體的實現(xiàn)了各種下載的功能虑润,在各個VC里調(diào)用manger里的下載功能肥荔,一切完好,如果突然一天不用自己的服務器宴咧,要用第三方SDK的下載功能根灯,那你又得開始寫一個thirdDownloadManager來實現(xiàn)SDK里的各種接口調(diào)用,在各個VC中替換掺栅,如果更換SDK烙肺,繼續(xù)改
解決方法:
我可以寫一個類downloadPlugin專門用來處理下載功能,VC中調(diào)用它就夠了氧卧,具體的實現(xiàn)放到單獨的一個類downloadAdapter中桃笙,通過利用不同的adapter來自由切換
什么是適配器模式:
將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些類可以在一起工作沙绝。
上面提到的Adapter怎么實現(xiàn)怎栽,可以定義一個Protocol 包括了下載的方方面面,如果開始宿饱,暫停熏瞄,刪除,查找等等方法和屬性谬以,同時定義一個抽象類基類實現(xiàn)這個Protocol,各個不同的Adapter繼承這個基類 通過適配不同的接口來實現(xiàn)Protocol中相同的功能强饮,此時在上面提到的downloadPlugin中簡單切換不同的Adapter就能達到目的