#import <Foundation/Foundation.h> @protocol EOCDatabaseConnection -(void)connect; -(void)disconnect; -(BOOL)isConnected; -(NSArray*)performQuery:(NSString*)query; @end /** * 能够用协议把本身所写的API之中的实现细节隐藏起来,将返回的对象设计为听从此协议的纯id类型,想要隐藏的类名就不会出如今API中了 */ @interface EOCDatabaseManager : NSObject +(id)sharedInstance; -(id<EOCDatabaseConnection>)connectionWithIdentifier:(NSString *)identifier; @end @implementation EOCDatabaseManager @end