iOS外观模式

作者: 卢二牛 | 来源:发表于2018-02-09 16:48 被阅读0次

外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。

外观模式

现在,实现一个简易的OC版本外观模式,目录如下:


外观模式目录结构
  1. Shape.h为定义需要实现的接口,目前只有一个测试方法-(void)draw;
#import <Foundation/Foundation.h>

@protocol Shape <NSObject>
-(void)draw;
@end
  1. Circle和Square为实现了Shape.h接口的具体实现类,目前内部只实现了-(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外观提供类,统一各个子系统,为子系统中的一组接口提供一个一致的界面
#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. 外部使用就可以只导入ShapeManager,而不关心各子模块的复杂实现
- (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]

相关文章

  • iOS13-适配夜间模式/深色外观(Dark Mode)

    iOS13-适配夜间模式/深色外观(Dark Mode) iOS13-适配夜间模式/深色外观(Dark Mode)

  • iOS外观模式

    外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接...

  • iOS 外观模式

    外观模式封装,隐藏实现细节。简化了操作,简化流程,解耦,简化操作逻辑。 应用,适用场景复杂的子系统,改进使用操作类...

  • iOS 设计模式

    外观模式http://www.cocoachina.com/ios/20161020/17800.html

  • iOS 设计模式-外观模式

    1.外观模式简介 外观模式(Facade)在开发过程中的运用频率非常高,尤其是在现阶段各种第三方SDK充斥在我们的...

  • 外观模式(Facade)

    文章转自iOS设计模式:外观模式 基本概念 外观模式:为子系统的一组接口提供一个一致的界面,此模式定义一个高层接口...

  • iOS设计模式(8)外观模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • 第4章 结构型模式-外观模式

    一、外观模式的简介 二、外观模式的优缺点 三、外观模式的场景 四、外观模式的实例

  • iOS 13.0 适配暗黑模式(DarkMode)

    一、简介 从 iOS 13.0 版本开始,用户可以选择采用系统范围内的浅色或深色外观。 深色外观(称为暗黑模式Da...

  • iOS开发高级分享 - 兼容暗模式

    苹果今年早些时候宣布在iOS上使用“暗模式”,该模式为用户提供了选择系统范围内的浅色或深色外观的选项。它从iOS ...

网友评论

    本文标题:iOS外观模式

    本文链接:https://www.haomeiwen.com/subject/pgxqtftx.html