Objective-C編程之道 iOS設(shè)計(jì)模式解析
iOS設(shè)計(jì)模式解析-工廠模式
iOS設(shè)計(jì)模式解析-抽象工廠模式
iOS設(shè)計(jì)模式解析-外觀模式
iOS設(shè)計(jì)模式解析-中介者模式
iOS設(shè)計(jì)模式解析-觀察者模式
iOS設(shè)計(jì)模式解析-裝飾模式
iOS設(shè)計(jì)模式解析-責(zé)任鏈模式
iOS設(shè)計(jì)模式解析-模板方法
iOS設(shè)計(jì)模式解析-策略模式
iOS設(shè)計(jì)模式解析-享元模式
iOS設(shè)計(jì)模式解析-代碼地址
何為中介者模式
中介者模式用于定義一個(gè)集中的場(chǎng)所嘱根,對(duì)象間的交互可以在一個(gè)中介者對(duì)象中處理衅鹿。其他對(duì)象不必彼此交互虽另,因此減少了它們之間的依存關(guān)系。
中介者模式:用一個(gè)對(duì)象來(lái)封裝一系列對(duì)象的交互方式捅位。中介者使各對(duì)象不需要顯式地相互引用拜轨,從而使其耦合松散印颤,而且可以獨(dú)立地改變它們之間的交互事甜。
何時(shí)使用中介者模式
在以下情形,應(yīng)該考慮使用模板方法佳簸。
- 對(duì)象間的交互雖定義明確然而非常復(fù)雜乙墙,導(dǎo)致一組對(duì)象彼此相互依賴而且難以理解;
- 因?yàn)閷?duì)象引用了許多其他對(duì)象并與其通訊,導(dǎo)致對(duì)象難以復(fù)用听想;
- 想要定制一個(gè)分布在多個(gè)類中的邏輯或行為腥刹,又不想生成太多子類;
注意:雖然對(duì)于處理應(yīng)用程序的行為分散于不同對(duì)象并且對(duì)象互相依存的情況汉买,中介者模式非常有用衔峰,但是應(yīng)當(dāng)注意避免讓中介者類過(guò)于龐大而難以維護(hù)。如果已經(jīng)這樣了蛙粘,可以考慮使用另一種設(shè)計(jì)模式把它分解垫卤。要?jiǎng)?chuàng)造性地混用和組合各種設(shè)計(jì)模式解決同一個(gè)問(wèn)題。每個(gè)設(shè)計(jì)模式就像一個(gè)樂(lè)高積木塊组题,整個(gè)應(yīng)用程序可能要使用彼此配合的各種“積木塊”來(lái)建造葫男。