工厂模式和策略模式的区别

    工厂设计模式,用于创建复杂对象,管理多个不同功能接口 ,策略模式只是将同一功能的不同实现抽离出来,不需要管理对象


@protocol xxx <NSObject>

-(id<Map>)getMap;mapview功能

-(id<Location>)getLocation;定位功能

@end

//实现工厂协议获取对应的对象

-(id<Map>)getMap{

    return [[BaiduMap alloc]init];

}

-(id<Location>)getLocation{

    return [[BaiduLocation alloc]init];

}

//地图协议

@protocol Map <NSObject>

-(UIView *)getView:(CGRect)frame;


@end

//地图协议实现

@implementation BaiduMap

-(UIView *)getView:(CGRect)frame{

    UILabel * la = [[UILabel alloc]init];

    la.backgroundColor = [UIColor redColor];

    la.frame = frame;

    return la;

}

//定位协议

@protocol Location <NSObject>

-(void)getLocation;

@end

//地图定位实现

@implementation BaiduLocation

-(void)getLocation{

    NSLog(@"baiduLocation.......");

}

@end



//策略模式

//策略协议

@protocol Calculation <NSObject>

-(CGFloat)getMoneyWithMonth:(CGFloat)month money:(CGFloat)money;

@end


//接口实现

-(CGFloat)getMoneyWithMonth:(CGFloat)month money:(CGFloat)money{

    return month*200.0+money;

}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值