外观设计模式
外观设计模式向复杂的子系统提供了简单的接口,相比将一系列的类和他们的接口暴露给用户,你只需要暴露一些简单的未定义的API。
接下来的图片解释了这一概念。
安康;(NSArray *) getAlbums;,, ,, 安康;(空白)addAlbum:(Album *) Album atIndex: (int)指数;,, ,, 安康;(void) deleteAlbumAtIndex: (int)指数;
LiabraryAPI。米文件。加入
# import “HTTPClient.h”,, ,, # import “PersistencyManager。h”
@interfaceLibraryAPI (),, ,, {,, ,, ,,,HTTPClient *客户,,, ,, ,,,PersistencyManager *经理,,, ,, ,,,BOOL isOnLine;,, ,, }
LiabraryAPI。米文件中添加下面代码:
- - - - - - (id) init , ,, {,, ,, ,,,if (=self [superinit]), {,, ,, ,,,,,,,client =, [[HTTPClientalloc] init];,, ,, ,,,,,,,manager =, [[PersistencyManageralloc], init];,, ,, ,,,,,,,isOnLine =,不,,, ,, ,,,},, ,, ,,,returnself;,, ,, }
- (NSArray *) getAlbums , ,, {,, ,, ,,,return [managergetAlbums];,, ,, },, ,, ,安康;addAlbum(空白):(Album *) Album atIndex: (int) index , ,, {,, ,, ,,,(manageraddAlbum: album atIndex:指数),,, ,, ,,,if (isOnLine), {,, ,, ,,,,,,,,,,,,,,,(clientpostRequest: @“/api/addAlbum”身体:[album 描述]];,, ,, ,,,},, ,, },, ,, ,,,, (空白)saveAlbums 作用; ,, {,, ,, ,,,(managersaveAlbums);,, ,, },, ,, 安康;(void) deleteAlbumAtIndex: (int) index , ,, {,, ,, ,,,(managerdeleteAlbumAtIndex:指数),,, ,, ,,,if (isOnLine), {,, ,, ,,,,,,,(clientpostRequest: @“/api/deleteAlbum”身体:[@(指数),描述]];,, ,, ,,,},, ,, }
,
安康;addAlbum(空白):(Album *) Album atIndex: (int)指数