}
@end
AccessFactory类接口
复制代码
#import "IFactories.h"
@interface AccessFactory :IFactories
@end
AccessFactory类实现
复制代码
#import "AccessFactory.h"
#import "AccessUser.h"
#import "AccessDepartment.h"
@implementation AccessFactory
-(IUser*)CreateUser{
return [[AccessUser alloc]init];
}
-(IDepartment*)CreateDepartment{
return [[AccessDepartment alloc]init];
}
@end
SqlServerFactory类接口
复制代码
#import "IFactories.h"
@interface SqlServerFactory :IFactories
@end
SqlServerFactory类实现
复制代码
#import "SqlServerFactory.h"
#import "SqlServerUser.h"
#import "SqlserverDepartment.h"
@implementation SqlServerFactory
-(IUser*)CreateUser{
return [[SqlServerUser alloc]init];
}
-(IDepartment*)CreateDepartment{
return [[SqlserverDepartment alloc]init];
}
@end
Main方法调用
复制代码
#import <Foundation/Foundation.h>
#import "User.h"
#import "Department.h"
#import "IFactories.h"
#import "AccessFactory.h"
#import "IUser.h"
#import "IDepartment.h"
int main (int argc,const char * argv[])
{
@autoreleasepool{
User *user = [[User alloc]init];
Department *dept = [[Department alloc]init];
IFactories *factories = [[AccessFactory alloc]init];
IUser *iu = [factories CreateUser];
[iu Insert:user];
[iu GetUser:1];
IDepartment *myId = [factories CreateDepartment];
[myId Insert:dept];










