結構型之五-外觀模式

Facade(外觀模式)

為子系統(tǒng)中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用。

基金經(jīng)理幫我們管理不同的股票?;鸾?jīng)理作為外觀,我們只需要讓基金經(jīng)理買或者賣就好,基金經(jīng)理再幫我們處理不同股票的賣或者買。
項目中有不同的網(wǎng)絡請求,對于每一種類型的網(wǎng)絡請求都封裝到一個固定的文件里處理,比如公用參數(shù)添加,返回數(shù)據(jù)的處理。然后再通過一個外觀文件引入,直接就可以使用了。從使用來說,所有網(wǎng)絡請求的差異都被外觀文件處理了。
還有比如AFN對于NSURLSession的不同系統(tǒng)版本的處理。

VC.m

HCDFound *found = [[HCDFound alloc]init];
[found buyFund];
[found sellFund];

HCDFound.h // 外觀類

@interface HCDFound : NSObject
-(void)buyFund;
-(void)sellFund;
@end

HCDFound.m

@interface HCDFound()
@property(nonatomic,strong)HCDstock1 *stock1;
@property(nonatomic,strong)HCDstock2 *stock2;
@property(nonatomic,strong)HCDstock3 *stock3;
@end
@implementation HCDFound
-(instancetype)init{
    self = [super init];
    if (self) {
        _stock1 = [[HCDstock1 alloc]init];
        _stock2 = [[HCDstock2 alloc]init];
        _stock3 = [[HCDstock3 alloc]init];
    }
    return self;
}
-(void)buyFund{
    [self.stock1 buy];
    [self.stock2 buy];
    [self.stock3 buy];
}
-(void)sellFund{
    [self.stock1 sell];
    [self.stock2 sell];
    [self.stock3 sell];
}
@end

HCDstock1.h // 外觀類中的一個子類

@interface HCDstock1 : NSObject
-(void)buy;
-(void)sell;
@end

HCDstock1.m

@implementation HCDstock1
-(void)buy{
    NSLog(@"買入股票1");
}
-(void)sell{
    NSLog(@"賣出股票1");
}
@end

設計圖

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 只見你穿過人海,來到我身邊 只是個夢
    香菜五仁粽閱讀 307評論 0 1
  • 1 天涯社區(qū)是1999年由邢明創(chuàng)辦的,是一個虛擬網(wǎng)絡社區(qū),提供論壇、落格、相冊、影音、站內(nèi)消息、虛擬交易等等多種服...
    天日昭昭閱讀 520評論 1 10
  • 臨近畢業(yè)了,一個很要好的朋友一直在找工作,從去年上學期就開始找工作了,到現(xiàn)在還沒有找到合適的工作,一直唉聲嘆氣的。...
    3b22dbaa09cf閱讀 1,372評論 0 3
  • 一 發(fā)單邀約: 您好,思維棋,央視采訪的思維教育品牌。祝您工作愉快! (對方有問題,微笑回復:您好,我們在C區(qū)68...
    彭遜閱讀 236評論 1 1

友情鏈接更多精彩內(nèi)容