iOS外觀模式

外觀模式(Facade Pattern):外部與一個子系統(tǒng)的通信必須通過一個統(tǒng)一的外觀對象進(jìn)行,為子系統(tǒng)中的一組接口提供一個一致的界面,外觀模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用。外觀模式又稱為門面模式,它是一種對象結(jié)構(gòu)型模式。

外觀模式


現(xiàn)在,實現(xiàn)一個簡易的OC版本外觀模式,目錄如下:


外觀模式目錄結(jié)構(gòu)
  1. Shape.h為定義需要實現(xiàn)的接口,目前只有一個測試方法-(void)draw;
#import <Foundation/Foundation.h>

@protocol Shape <NSObject>
-(void)draw;
@end
  1. Circle和Square為實現(xiàn)了Shape.h接口的具體實現(xiàn)類,目前內(nèi)部只實現(xiàn)了-(void)draw;
#import "Circle.h"

@implementation Circle
-(void)draw{
    NSLog(@"%s",__func__);
}
@end
#import "Square.h"

@implementation Square
-(void)draw{
    NSLog(@"%s",__func__);
}
@end
  1. ShapeManager為Facade外觀提供類,統(tǒng)一各個子系統(tǒng),為子系統(tǒng)中的一組接口提供一個一致的界面
#import <Foundation/Foundation.h>
#import "Circle.h"
#import "Square.h"

@interface ShapeManager : NSObject
-(void)drawSquare;
-(void)drawCircle;
@end
#import "ShapeManager.h"

@implementation ShapeManager
-(void)drawCircle{
    Circle *_circle = [[Circle alloc]init];
    [_circle draw];
}
-(void)drawSquare{
    Square *_square = [[Square alloc]init];
    [_square draw];
}
@end
  1. 外部使用就可以只導(dǎo)入ShapeManager,而不關(guān)心各子模塊的復(fù)雜實現(xiàn)
- (void)viewDidLoad {
    [super viewDidLoad];
    ShapeManager *shapeManager = [[ShapeManager alloc]init];
    [shapeManager drawSquare];
    [shapeManager drawCircle];
}

打印如下:

2018-02-09 16:18:52.971337+0800 測試[32072:7644268] -[Square draw]
2018-02-09 16:18:52.971456+0800 測試[32072:7644268] -[Circle draw]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 1 場景問題# 1.1 生活中的示例## 外觀模式在現(xiàn)實生活中的示例很多,比如:組裝電腦,通常會有兩種方案。 一個...
    七寸知架構(gòu)閱讀 6,503評論 7 57
  • 外觀模式(Facade),為子系統(tǒng)中的一組接口提供一個一致的界面,此模式定義 一個高層接口,這個接口使得這一子系統(tǒng)...
    泥孩兒0107閱讀 243評論 0 0
  • 目錄 本文的結(jié)構(gòu)如下: 什么是外觀模式 模式的結(jié)構(gòu) 代碼示例 優(yōu)點和缺點 適用環(huán)境 模式應(yīng)用 模式擴(kuò)展 補(bǔ)充 一、...
    w1992wishes閱讀 702評論 0 1
  • 一、模式定義 外觀模式(Facade Pattern):外部與一個子系統(tǒng)的通信必須通過一個統(tǒng)一的外觀對象進(jìn)行,為子...
    端木軒閱讀 4,024評論 2 2
  • 正月里暖熱炕 讀寫人家作者:白峰 正月里正月正,正月里來是新年,新年大家很休閑,走親戚,串朋友,逛街道,進(jìn)公園,在...
    讀寫人家閱讀 696評論 0 1

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