Contents
  1. 1. 外观模式、为内部子系统的复杂逻辑,提供一个简单的入口.
  2. 2. 模拟照相、灯光、传感器三种硬件互相配合完成一个复杂的功能.
  3. 3. 照相机
  4. 4. 灯光
  5. 5. 传感器
  6. 6. 向外提供一个简单的入口,来操作照相机、灯光、传感器之间的复杂逻辑.

外观模式、为内部子系统的复杂逻辑,提供一个简单的入口.

  • 复杂的子系统 向外提供一个简单的接口
  • 给每一层的子系统提供一个统一的入口

模拟照相、灯光、传感器三种硬件互相配合完成一个复杂的功能.


照相机

1
2
3
4
5
6
7
8
9
10
11
12
#import <Foundation/Foundation.h>

/**
* 照相机
*/
@interface Camera : NSObject

- (void)turnON;

- (void)turnOff;

@end
1
2
3
4
5
6
7
8
9
10
11
12
13
#import "Camera.h"

@implementation Camera

- (void)turnON {

}

- (void)turnOff {

}

@end

灯光

1
2
3
4
5
6
7
8
9
10
11
12
#import <Foundation/Foundation.h>

/**
* 灯光
*/
@interface Light : NSObject

- (void)turnON;

- (void)turnOff;

@end
1
2
3
4
5
6
7
8
9
10
11
12
13
#import "Light.h"

@implementation Light

- (void)turnON {

}

- (void)turnOff {

}

@end

传感器

1
2
3
4
5
6
7
8
9
10
11
12
#import <Foundation/Foundation.h>

/**
* 传感器
*/
@interface Sensor : NSObject

- (void)activate;

- (void)deactivate;

@end
1
2
3
4
5
6
7
8
9
10
11
12
13
#import "Sensor.h"

@implementation Sensor

- (void)activate {

}

- (void)deactivate {

}

@end

向外提供一个简单的入口,来操作照相机、灯光、传感器之间的复杂逻辑.

1
2
3
4
5
6
7
8
9
#import <Foundation/Foundation.h>

@interface Fade : NSObject

- (void)activate;

- (void)deactivate;

@end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#import "Fade.h"

#import "Camera.h"
#import "Light.h"
#import "Sensor.h"

@interface Fade ()

@property (nonatomic, strong) Camera *camera1;
@property (nonatomic, strong) Camera *camera2;
@property (nonatomic, strong) Camera *camera3;

@property (nonatomic, strong) Light * light1;
@property (nonatomic, strong) Light * light2;

@property (nonatomic, strong) Sensor *sensor1;
@property (nonatomic, strong) Sensor *sensor2;

@end

@implementation Fade

- (instancetype)init {
self = [super init];
if (self) {

_camera1 = [Camera new];
_camera2 = [Camera new];
_camera3 = [Camera new];

_light1 = [Light new];
_light2 = [Light new];

_sensor1 = [Sensor new];
_sensor2 = [Sensor new];
}
return self;
}

- (void)activate {
[_camera1 turnON];
[_camera2 turnON];

[_light1 turnON];
[_light2 turnON];

[_sensor1 activate];
[_sensor2 activate];
}

- (void)deactivate {
[_camera1 turnOff];
[_camera2 turnOff];

[_light1 turnOff];
[_light2 turnOff];

[_sensor1 deactivate];
[_sensor2 deactivate];
}

@end
Contents
  1. 1. 外观模式、为内部子系统的复杂逻辑,提供一个简单的入口.
  2. 2. 模拟照相、灯光、传感器三种硬件互相配合完成一个复杂的功能.
  3. 3. 照相机
  4. 4. 灯光
  5. 5. 传感器
  6. 6. 向外提供一个简单的入口,来操作照相机、灯光、传感器之间的复杂逻辑.